一、httpclient项目有两种使用方式。一种是commons项目,这一个就只更新到3.1版本了。现在挪到了HttpComponents子项目下了,这里重点讲解HttpComponents下面的httpclient的使用方式。

二、加入jar包

  <dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>

三、使用方式

1、GET方法

     //相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpGet httpGet = new HttpGet("http://www.baidu.com");
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpGet);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpGet.releaseConnection();

2、POST方法

     //需要传输的数据
Map<String,Object> map = new HashMap<String, Object>();
map.put("1", "1");
map.put("2", "2");
//谷歌的Gson
Gson gson = new Gson();
//相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpPost httpPost = new HttpPost("http://www.baidu.com");
//设置消息头
httpPost.setHeader("Content-Type","application/json;charset=utf-8");
httpPost.setHeader("Accept","application/json");
//设置发送数据(数据尽量为json),可以设置数据的发送时的字符集
httpPost.setEntity(new StringEntity(gson.toJson(map),"utf-8"));
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpPost);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpPost.releaseConnection();

3、PUT方式(和post的方式差不多)

     //需要传输的数据
Map<String,Object> map = new HashMap<String, Object>();
map.put("1", "1");
map.put("2", "2");
//谷歌的Gson
Gson gson = new Gson();
//相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpPut httpPut = new HttpPut("http://www.baidu.com");
//设置消息头
httpPut.setHeader("Content-Type","application/json;charset=utf-8");
httpPut.setHeader("Accept","application/json");
//设置发送数据(数据尽量为json),可以设置数据的发送时的字符集
httpPut.setEntity(new StringEntity(gson.toJson(map),"utf-8"));
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpPut);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpPut.releaseConnection();

4、DELETE方法(这种方式和get方式差不多,但是限定类型不一样)

     //相对于commons-httpclient 3.1这里采用接口的方式来获取httpclient了
HttpClient httpClient = HttpClients.createDefault();
//声明请求方式
HttpDelete httpDelete = new HttpDelete("http://www.baidu.com");
//设置消息头(这里可以根据自己的接口来设定消息头)
httpDelete.setHeader("Content-Type","application/json;charset=utf-8");
httpDelete.setHeader("Accept","application/json");
//获取相应数据,这里可以获取相应的数据
HttpResponse httpResponse = httpClient.execute(httpDelete);
//拿到实体
HttpEntity httpEntity= httpResponse.getEntity();
//获取结果,这里可以正对相应的数据精细字符集的转码
String result = "";
if (httpEntity != null) {
result = EntityUtils.toString(httpEntity,"utf-8");
}
//关闭连接
httpDelete.releaseConnection();

四、这基本上就是httpclient的使用方法了,当然在这个只是简单的例子,实际的还是要在具体的生产环境中自己封装使用。

httpclient的几种请求URL的方式的更多相关文章

  1. HttpClient的几种请求方式

    public static String doPostToken(String tokenUrl,String clientId,String clientSecret,String grantTyp ...

  2. 一种解决url的get请求参数传值乱码问题的方式

    做项目的时候发现url get请求传中文字符出现乱码问题,百度了一下,最后用一种比较容易理解的方式解决了.分享给大家! 经过百度,网友提到:url get方式提交的参数编码,只支持iso8859-1编 ...

  3. httpclient几种请求方式

    一.httpclient 模拟get请求,并获取cookie信息 public class MyCookiesForGet { private String url; //用来读取.propertie ...

  4. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  5. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  6. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  7. 转:Ajax中的get和post两种请求方式的异同

    1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...

  8. Ajax的get和post两种请求方式区别

    Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...

  9. http的几种请求的方式(Get、Post、Put、Head、Delete、Options、Trace和Connect)

    http的这几种请求方式各有各的特点,适用于各自的环境.下面我就说说这些方式的各自特点: 1.Get:它的原理就是通过发送一个请求来取得服务器上的某一资源.获取到的资源是通过一组HTTP头和呈现数据来 ...

随机推荐

  1. BootStrap iCheck插件全选与获取value值的解决方法

    这篇文章主要介绍了BootStrap iCheck插件全选与获取value值的解决方法,解决方法其实很简单,下面小编给大家分享下这方面的知识 在使用jQuery iCheck 插件的时候遇到了一个问题 ...

  2. zeptojs库解读1之整体框架

    首先看的是整体框架, // zepto骨骼,这个函数的作用使得Zepto(slector, context)使用很多$.fn里面的方法 var Zepto = (function(){ // zept ...

  3. hdu 4348 To the moon 主席树区间更新

    To the moon Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Prob ...

  4. Eclipse.导出可执行的jar(包含第3方jar)

    1.不包含 第三方jar 的情况: (1)项目右键--> Export... --> 选择"JAR file"(记得有看到有的博客上写的是选择"Runnabl ...

  5. bzoj3223: Tyvj 1729 文艺平衡树 splay裸题

    splay区间翻转即可 /************************************************************** Problem: 3223 User: walf ...

  6. UVA-12657 Boxes in a Line (双向链表)

    题目大意:一个1~n的升序数字序列,有4种操作.操作1,将x放到y前面一个位置:操作2将x放到y后面的一个位置:操作3交换x和y的位置:操作4反转整个序列.求经过m次操作后的所有奇数项的和. 题目分析 ...

  7. Class 'SoapClient' not found 解决方法

    Class 'SoapClient' not found ? 在百度上搜了解决办法,可是收效不佳,只知道好像要添加soap扩展模块,但怎么添加却没有说.于是,我上了google.果然,查看一些英文资料 ...

  8. 201621123010《Java程序设计》第7周学习总结

    1. 本周学习总结 1.1思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. addActionListener(new Actio ...

  9. SharePoint 2013的100个新功能之搜索(一)

    一:新的搜索架构 SharePoint 2013中将最好的两个搜索引擎"SharePoint搜索"和"SharePoint FAST搜索服务"整合到了一个搜索引 ...

  10. OMAP4之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例

    首先,安卓系统完全启动4AJ.2.1. 其次,查看OMAP4的Tesla相关信息,检查Tesla是否使能.(有如下显示,则OK) cat /d/emoteproc/omap-rproc.0/versi ...