HttpClient 图讲解明
大家刚看这个名字一定会想问这是什么东东,在这我特意百度百科了下
HTTP 协议可能是如今 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序须要直接通过 HTTP 协议来訪问网络资源。
尽管在 JDK 的 java net包中已经提供了訪问 HTTP 协议的基本功能。可是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。
HttpClient是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的client编程工具包,而且它支持 HTTP 协议最新的版本号和建议。
HttpClient
已经应用在非常多的项目中,比方 Apache Jakarta 上非常著名的另外两个开源项目 Cactus 和 HTMLUnit 都使用了 HttpClient。如今HttpClient最新版本号为 HttpClient 4.4 (GA)
我的理解了主要是模拟浏览器发送请求给server,监听响应信息,推断返回结果的正确性怎样,因为避开的浏览器的UI ,也就将浏览器中全部载入的时间(比方常常要载入图片啊)都省掉了,所以这个运行效率相当高
如今我们直接进入实战
首先新建一个project。在百度搜HttpClient 4.4 下载相关的Jar 文件
注意4.3 和4.4 创建请求方式不一样了
我是从这里下载的,只是要积分哦
http://download.csdn.net/detail/y515789/8470829
解压之后有例如以下文件
将此文件拷贝到工 程的lib 文件夹下之后导入
在SRC 文件夹下新建一个包
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="651" width="645">
再新建一个类
这里先计解怎样用模拟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 须要用參数对将值放到请求内容中
差别在这
这里是将每个參数与所传的值一一相应传到接口中
完整的代码示比例如以下
运行之后
SOAPUI 安装+破解图讲解明
http://blog.chinaunix.net/uid-28995070-id-5156198.html
SOAPUI 怎样导入项目文件
http://blog.chinaunix.net/uid-28995070-id-5156204.html
SOAPUI 项目新建--天气预报
http://blog.chinaunix.net/uid-28995070-id-5156232.html
SOAPUI 測试套件新建
http://blog.chinaunix.net/uid-28995070-id-5156246.html
HttpClient 图讲解明的更多相关文章
- vs2010公布时去除msvcp100.dll和msvcr100.dll图讲解明
近期开发个程序,Copy到虚拟机环境中測试时提示缺少msvcr100.dll,于是想到编译时设置选项去除依赖. 什么是 msvcr100.dll MS = Microsoft V = Visual C ...
- 一张图讲解对象锁和关键字synchronized修饰方法
每个对象在出生的时候就有一把钥匙(监视器),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题. 下面通过一张图片进行讲解: ...
- 弱电系统标准CAD图例识图讲解
弱电系统标准CAD图例识图讲解 http://www.360doc.com/content/17/0317/16/33642774_637680009.shtml
- 一张图讲解最少机器搭建FastDFS高可用分布式集群安装说明
很幸运参与零售云快消平台的公有云搭建及孵化项目.零售云快消平台源于零售云家电3C平台私有项目,是与公司业务强耦合的.为了适用于全场景全品类平台,集团要求项目平台化,我们抢先并承担了此任务.并由我来主 ...
- 设计模式课程 设计模式精讲 2-2 UML类图讲解
1 类图讲解 1 类图讲解 + 公共方法 - private权限 # protected权限 包内和包外继承的子类都能引用 ~ default权限(包权限)只有包内能引用 下划线 静态 Stati ...
- JVM学习03_new对象的内存图讲解,以及引出static方法(转)
目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -= ...
- 用动图讲解分布式 Raft
一.Raft 概述 Raft 算法是分布式系统开发首选的共识算法.比如现在流行 Etcd.Consul. 如果掌握了这个算法,就可以较容易地处理绝大部分场景的容错和一致性需求.比如分布式配置系统.分布 ...
- 一张图讲解为什么需要自己搭建自己的git服务以及搭建的途径
图片信息量有点大.不废话上图 图中的一些链接: gitlab官方安装文档 https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/in ...
- dp入门 石子相邻合并 详细带图讲解
题目: 有N堆石子,现要将石子有序的合并成一堆,规定如下: 1.每次只能移动相邻的2堆石子合并 2.合并花费为新合成的一堆石子的数量. 求将这N堆石子合并成一堆的总花费最小(或最大). 样例: 输入 ...
随机推荐
- 数人云CTO解读Docker 1.12和金融业容器化
7月29日 数人云 在上海举办金融沙龙,邀请上交所和近二十家来自银行.保险.证券的IT技术专家一同探讨容器技术在金融业中的最佳实践.数人云CTO肖德时在会上将传统金融行业通过容器可以解决的四大问题做了 ...
- 什么是PL/SQL,有什么用
1.什么是PL/SQL,有什么用 Procedure Language+SQL PL/SQL是Oracle数据库特有的编程语言. PL/SQL程序是以SQL为基础,引入了 编程语言特点,例如变 ...
- Mybatis动态代理实现函数调用
如果我们要使用MyBatis进行数据库操作的话,大致要做两件事情: 1. 定义DAO接口 在DAO接口中定义需要进行的数据库操作. 2. 创建映射文件 当有了DAO接口后,还需要为该接口创建映射文件. ...
- 极路由4pro(HC5962)安装python
基本配置 其实极路由4.极路由4 pro.极路由B70都是一个型号的(HC5962) CPU:MT7621AT + MT7612EN + 7603EN 内存:256MB DDR3 RAM 闪存:128 ...
- 讲一讲java异常及自定义异常
1.异常,说白了.两种,一种就是就是不能让代码通过编译的异常.另一种就是程序运行期间出现的异常.异常就是错误,只要出现异常,程序就不会向下运行了.就不会执行后面的代码了.这时候就可以通过显示statc ...
- Java7的那些新特性
本文介绍的java 7新特性很多其它的感觉像是语法糖.毕竟java本身已经比較完好了.不完好的非常多比較难实现或者是依赖于某些底层(比如操作系统)的功能. 不过java7也实现了类似aio的强大功能. ...
- [ReactVR] Animate Text, Images, Views, and 3D Elements Using the Animated Library in React VR
Motion is an important aspect of a complete immersive experience, therefor we are going to look into ...
- Java採用JNI调用VC++生成的dll(Java与C++交互)
应项目需求,须要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组须要和C++和Android进行交互.以下是java和C++採用JNI的方式进行 ...
- PHP中用下标符号[]去读取字符串的逻辑
PHP中 [(下标)] 符号不仅能够应用于数组和对象,还能够应用于字符串,假设不注意非常easy出错. 比方获取一个网络接口,正常情况下会返回一个数组结构的json,经过解析之后结果为: array( ...
- C#--DataGridView添加DateTimePicker时间控件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...