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堆石子合并成一堆的总花费最小(或最大). 样例: 输入 ...
随机推荐
- 通过CSS样式隐藏百度版权标志
在JSP中添加: //隐藏所有.anchorBL{ display:none; } //隐藏下方的保留百度地图图片 .BMap_cpyCtrl{ display:none; } 注:维护他人版权, ...
- STM32 HAL库使用中断实现串口接收不定长数据
以前用DMA实现接收不定长数据,DMA的方法接收串口助手的数据,全部没问题,不过如果接收模块返回的数据,而这些数据如果包含回车换行的话就会停止接收,例如接收:AT\r\nOK\r\n,就只能接收到AT ...
- 父类指针指向子类内存,为什么当父类的成员函数不加virtual时,访问的还是父类的成员函数,而不是子类同名的成员函数
我认为是这样,类的成员函数都在代码区,不同的类的成员函数在代码区有自己的类名称空间限制,类的虚函数在虚函数表中,程序执行的时候,是先在虚函数表中找该成员函数,如果没有找到,就去该类在代码区的成员函数中 ...
- js解决跨域问题
JavaScript中的常见解决跨域的方法 1. 通过jsonp跨域 1.)原生实现: 2. document.domain + iframe跨域 此方案仅限主域相同,子域不同的跨域应用场景. 1.) ...
- Qt之命令行参数
简述 在Qt之进程间通信(QProcess)一节,我们讲解了如何通过QProcess来进行进程间的通信.主要通过启动外部程序,然后通过命令行的方式传递参数. 这里,我们可以通过Qt Creator来设 ...
- ftp for linux 配置
曾经配的熟悉的不能再熟悉了的东西,多年不用就忘了. 好真是好记性不如烂笔头.本文假如你已经安装好了, 1,ftp默认是不同意root用户登录的,假设要root用户登录,请例如以下改动:打开/etc/v ...
- Ansible@一个高效的配置管理工具--Ansible configure management--翻译(七)
如无书面授权,请勿转载 Larger Projects Until now, we have been looking at single plays in one playbook file. Th ...
- CSS文本简单设置
文本的设置直接影响到用户对界面的感受,好的文本设置能够让用户对界面有一种赏心悦目的感受,在这地方我们来简单的说说说对文本设置的时候,有哪些格式. 文本设置的时候我们应该注意什么: 平时我们文本设置的时 ...
- 使用ffmpeg批量合并flv文件
title: 使用ffmpeg批量合并flv文件 toc: false date: 2018-10-14 16:08:19 categories: methods tags: ffmpeg flv 使 ...
- SpringBoot(四) Web开发 --- Thymeleaf、JSP
Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依 ...