httpclient的几种请求URL的方式
一、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的方式的更多相关文章
- HttpClient的几种请求方式
public static String doPostToken(String tokenUrl,String clientId,String clientSecret,String grantTyp ...
- 一种解决url的get请求参数传值乱码问题的方式
做项目的时候发现url get请求传中文字符出现乱码问题,百度了一下,最后用一种比较容易理解的方式解决了.分享给大家! 经过百度,网友提到:url get方式提交的参数编码,只支持iso8859-1编 ...
- httpclient几种请求方式
一.httpclient 模拟get请求,并获取cookie信息 public class MyCookiesForGet { private String url; //用来读取.propertie ...
- HttpwebClient的四种请求方式
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷. 本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...
- Ajax中的get和post两种请求方式的异同
Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别. 1. get是把参数数据队列加到提交表单的A ...
- jQuery中的Ajax几种请求方式
1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...
- 转:Ajax中的get和post两种请求方式的异同
1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML ...
- Ajax的get和post两种请求方式区别
Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...
- http的几种请求的方式(Get、Post、Put、Head、Delete、Options、Trace和Connect)
http的这几种请求方式各有各的特点,适用于各自的环境.下面我就说说这些方式的各自特点: 1.Get:它的原理就是通过发送一个请求来取得服务器上的某一资源.获取到的资源是通过一组HTTP头和呈现数据来 ...
随机推荐
- 深入Linux内核架构第一章笔记
1. Linux是多任务系统, 支持并发执行若干进程,系统同时真正运行的进程数目不超过CPU的数量,因此内核会按照时间间隔在不同进程之间切换. 2.确定那个进程运行多长时间的过程称为调度. 3.内核启 ...
- Java的封装性、继承性和多态性
封装 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 封装的优点: 便于使用者正确.方便的使用系 ...
- Flutter基础Widget之按钮(RaisedButton、FlatButton、OutlineButton,IconButton)
Flutter中给我们预先定义好了一些按钮控件给我们用,常用的按钮如下 RaisedButton :凸起的按钮,其实就是Android中的Material Design风格的Button ,继承自Ma ...
- Linux常用命令--网终设置
1.把自己(sa)添加到sudoers配置文件中,以便于获取权限 vim /etc/sudoers 编辑文件(部分centOS版本没有vim命令,则用vi即可) 找到[root ALL=(ALL) A ...
- JSP 语法
JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...
- iptable filter nat MASQUERADE snat dat
在这里,系统会根据IP数据包中的destination ip address中的IP地址对数据包进行分发.如果destination ip adress是本机地址,数据将会被转交给INPUT链.如果不 ...
- 201621123006 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 List中指定元素的删除(题集题目) 1.1 实验总结.并回答:列举至少2种 ...
- Django——ContentType(与多个表建立外键关系)及ContentType-signals的使用
一.ContentType 在django中,有一个记录了项目中所有model元数据的表,就是ContentType,表中一条记录对应着一个存在的model,所以可以通过一个ContentType表的 ...
- MQTT再学习 -- 搭建MQTT服务器及测试
最近在搞 PM2.5 采集,需要用到 MQTT 传输协议.协议部分看了几天的,讲的七七八八.本身在 intel 上有 写好的MQTT 的源码,现在的工作其实也就是移植到单片机上或者DM368板卡上.不 ...
- CS231n课程笔记翻译6:神经网络笔记 part1
译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 1,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,巩子嘉和堃堃进行校对修改.译文含 ...