HttpClient 图解说明
来源:互联网 发布:倒放的视频软件 编辑:程序博客网 时间:2024/06/01 19:52
大家刚看这个名字一定会想问这是什么东东,在这我特意百度百科了下
HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient 已经应用在很多的项目中,比如 Apache Jakarta 上很著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。现在HttpClient最新版本为 HttpClient 4.4 (GA)
我的理解了主要是模拟浏览器发送请求给服务器,监听响应信息,判断返回结果的正确性如何,由于避开的浏览器的UI ,也就将浏览器中所有加载的时间(比如经常要加载图片啊)都省掉了,所以这个执行效率相当高
现在我们直接进入实战
首先新建一个工程,在百度搜HttpClient 4.4 下载相关的Jar 文件
注意4.3 和4.4 创建请求方式不一样了
我是从这里下载的,不过要积分哦
http://download.csdn.net/detail/y515789/8470829
解压之后有如下文件
将此文件复制到工 程的lib 目录下之后导入
在SRC 目录下新建一个包
再新建一个类
这里先计解如何用模拟Get 发送请求
先贴原代 码
第一步要实例化对象
CloseableHttpClientHttpClient=HttpClient.createdefault();
第二步,指定网址URL
HttpGet(“URL”)
第三步设置 信息头,有时要,有时不要,这个看实际情况调试
一般不设这些东西用默认值也可以
Htpget.setHeader(“表头名称”,值)
第四步执行请求,提取返回信息
CloseableHttpResponse httpReponse=httpclient.execute(httpget);第五步
检查响应信息,有时可以用检查响应代码,有时需要用检查报文信息才行
long status=httpReponse.getStatusLine().getStatusCode();
你我的例子中
我用检查响应代码中是否存在200的代码,如果存在200代码说明返回值正常
if (status==200) {
System.out.println("响应成功");
}
else {
System.out.println("响应失败");
}
String result=EntityUtils.toString(httpReponse.getEntity());
System.out.println(result);
另一种检查方式
检查响应信息的文本,与期望值相比对,确认是否正常
String result=EntityUtils.toString(httpReponse.getEntity());System.out.println(result);
这里你可以用参数的方式,比如你在调用Get 方法时传一个待验证的字符串,在这执行之后验证返回值进行比对
POST 请求其实操作流程和Get 请求相同,只是Get 请求可以一次传送一个完整的URL 而POST 需要用参数对将值放到请求内容中
区别在这
这里是将每一个参数与所传的值一一对应传到接口中
完整的代码示例如下
执行之后
- HttpClient 图解说明
- HttpClient 图解说明
- httpClient 简要说明
- HttpClient---HttpClient的3种超时说明
- struts图解说明
- struts图解说明
- VI图解说明
- TestNG 图解说明
- TestNG 图解说明
- TestNG 图解说明
- hadoop图解说明
- UNL 类图解释说明
- 24 节气图解含义说明
- Tortoise SVN使用方法图解说明
- StrongReference, SoftReference, WeakReference 图解说明
- httpclient参数http.method.retry-handler说明
- httpclient参数http.method.retry-handler说明
- 图解说明常见显卡技术术语(转东转西)
- 大数乘法 poj 2389 ||大数乘法 hdu1402 FFT模板
- 一笔画问题
- 分享二
- 高吞吐量系统设计优化建议
- Leetcode#29||Divide Two Integers
- HttpClient 图解说明
- MAC下搭建配置Git服务器
- 字符串左补位.
- 设计模式(1)-模板模式(Template)
- 关键字汇总
- Speed Limit POJ 2017
- 如何学习总线技术
- 开源.net混淆器——ConfuserEx
- Mina 学习