HttpClient4.3.6学习过程——1

    首先先去官网下载所需jar包 http://hc.apache.org/ 。目前最新版是httpclient4.4(2014-12-17),我使用的是4.3.6版本。官网下是有教程的,但是明显教程很久没更新了,教程下使用了很多过时的类与方法。本文是对教程在实际操作中的补充。

    接下来介绍一下我所使用的开发环境:

        1:开发工具我使用的  intellij idea 14 和 MyEclipse10,之所以要使用两种IDE工具是为了在后面的实际测试中便于区分。

        2:项目使用maven管理。

        3:jdk8,tomcat8(MyEclipse10还未能支持到 jdk8 以及 tomcat8,不过是可以使用的,只不过配置的时候找不到jdk8的选项,可以使用 jdk7)

        4:使用 spring 框架

        5:使用 mongodb 数据库(4,5都不是关键,不用 spring 你直接写 servlet 也可以,用 mysql 都可以)  

    环境都介绍完了,下面开始第一步,首先我们需要下载,如果你也是使用maven的话,可以直接在 pom.xml 中加入以下代码:

1<!-- httpclient4.3.6 --> 2<dependency> 3   <groupId>org.apache.httpcomponents</groupId> 4   <artifactId>httpclient</artifactId> 5   <version>4.3.6</version> 6</dependency> 7<dependency> 8   <groupId>org.apache.httpcomponents</groupId> 9   <artifactId>httpclient-cache</artifactId> 10   <version>4.3.6</version> 11</dependency> 12<dependency> 13   <groupId>org.apache.httpcomponents</groupId> 14   <artifactId>httpmime</artifactId> 15   <version>4.3.6</version> 16</dependency>

          

     如果没有使用maven也没关系,我们直接去官网下载:http://hc.apache.org/downloads.cgi

    解压之后在 lib 文件夹下有以下 jar包,这就是我们开发所需的核心部件了:

      我们在 idea 14 中新建 spring 项目,新建 controller :

1@RequestMapping(value = "/httpClient", method = RequestMethod.GET) 2public String httpClientGet() { 3    System.out.println("--------------------httpclient GET!"); 4    return "redirect:login.html"; 5} 6 7@RequestMapping(value = "/httpClient", method = RequestMethod.POST) 8public String httpClientPost() { 9    System.out.println("--------------------httpclient POST!"); 10    return "redirect:login.html"; 11}

目前只是测试连接,通过get,post区分请求方式。然后我们启动tomcat。

接下来在 MyEclipse 下新建 Java project ,在 src 包下新建类 TextHttpClient,将上面的 jar 包导入该项目。在main方法里写如下代码:

1         //网上很多教程使用的都是:HttpClient httpClient = new DefaultHttpClient(); 2         //但是httpclient4.3提供了全新的实现类:CloseableHttpClient 3         CloseableHttpClient httpclient = HttpClients.createDefault(); 4         HttpPost httppost = new HttpPost("http://localhost:8080/httpClient.html"); 5         //HttpGet httpget = new HttpGet("http://localhost:8080/httpClient.html"); 6         CloseableHttpResponse response = null; 7         try { 8            response = httpclient.execute(httppost); 9        } catch (Exception e) { 10            // TODO Auto-generated catch block 11            e.printStackTrace(); 12        }finally{ 13            try { 14                response.close(); 15                httpclient.close(); 16            } catch (IOException e){ 17                // TODO Auto-generated catch block 18                e.printStackTrace(); 19            } 20        }

        那么启动main方法,我们去idea14中看看发生了什么。

说明我们已经成功的通过 httpclient 发送了 post 请求 ,get请求我就不试了,目前初步连接已经成功,接下来将继续玩 httpclient ,包括带参数传递,修改http请求参数,已经最终实现自定义上传文件……

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

P2P技术揭秘.P2P网络技术原理与典型系统开发

Modular.Java(2009.06)\.Craig.Walls.文字版.pdf:http://www.t00y.com/file/59501950(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.t00y.com%2Ffile%2F59501950)\More.E