大家刚看这个名字一定会想问这是什么东东,在这我特意百度百科了下

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 图讲解明的更多相关文章

  1. vs2010公布时去除msvcp100.dll和msvcr100.dll图讲解明

    近期开发个程序,Copy到虚拟机环境中測试时提示缺少msvcr100.dll,于是想到编译时设置选项去除依赖. 什么是 msvcr100.dll MS = Microsoft V = Visual C ...

  2. 一张图讲解对象锁和关键字synchronized修饰方法

    每个对象在出生的时候就有一把钥匙(监视器),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题. 下面通过一张图片进行讲解: ...

  3. 弱电系统标准CAD图例识图讲解

    弱电系统标准CAD图例识图讲解 http://www.360doc.com/content/17/0317/16/33642774_637680009.shtml

  4. 一张图讲解最少机器搭建FastDFS高可用分布式集群安装说明

     很幸运参与零售云快消平台的公有云搭建及孵化项目.零售云快消平台源于零售云家电3C平台私有项目,是与公司业务强耦合的.为了适用于全场景全品类平台,集团要求项目平台化,我们抢先并承担了此任务.并由我来主 ...

  5. 设计模式课程 设计模式精讲 2-2 UML类图讲解

    1 类图讲解 1 类图讲解 + 公共方法 - private权限 # protected权限 包内和包外继承的子类都能引用 ~ default权限(包权限)只有包内能引用 下划线   静态 Stati ...

  6. JVM学习03_new对象的内存图讲解,以及引出static方法(转)

    目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -= ...

  7. 用动图讲解分布式 Raft

    一.Raft 概述 Raft 算法是分布式系统开发首选的共识算法.比如现在流行 Etcd.Consul. 如果掌握了这个算法,就可以较容易地处理绝大部分场景的容错和一致性需求.比如分布式配置系统.分布 ...

  8. 一张图讲解为什么需要自己搭建自己的git服务以及搭建的途径

    图片信息量有点大.不废话上图 图中的一些链接: gitlab官方安装文档 https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/in ...

  9. dp入门 石子相邻合并 详细带图讲解

    题目: 有N堆石子,现要将石子有序的合并成一堆,规定如下: 1.每次只能移动相邻的2堆石子合并  2.合并花费为新合成的一堆石子的数量. 求将这N堆石子合并成一堆的总花费最小(或最大). 样例: 输入 ...

随机推荐

  1. GitHub上搭建私人hexo博客操作教程

    GitHub上搭建hexo博客 安装GitGit:主要用于上传博客页面到github和命令操作安装NodeNode.js:Hexo的运行环境安装HexoHexo:博客程序打开安装Git后的生成的右键菜 ...

  2. 题解 CF1051F 【The Shortest Statement】

    这道题思路比较有意思,第一次做完全没想到点子上... 看到题目第一反应是一道最短路裸题,但是数据范围1e5说明完全不可能. 这个时候可以观察到题目给出了一个很有意思的条件,就是说边最多比点多20. 这 ...

  3. Maven学习总结(23)——Maven常用命令介绍

    1.生成eclipse项目:mvn eclipse:eclipse 2.清除eclipse的一些系统设置:mvn eclipse:clean 3.mvn tomcat:run 在tomcat里面运行 ...

  4. PatentTips - Object-oriented processor architecture and operating method

    BACKGROUND OF THE INVENTION The present invention relates to processors and computer systems. More s ...

  5. OS 中文斜体 Italic Font Chinese - iOS_Girl

    CGAffineTransform matrix =  CGAffineTransformMake(1, 0, tanf(15 * (CGFloat)M_PI / 180), 1, 0, 0); UI ...

  6. JStorm中的并行( parallelismction )介绍

    JStorm中的并行( parallelismction )介绍 JStrom中.一个计算任务通过多台机器使得计算分解为多个独立并行执行在集群内执行的任务(tasks).从而得到水平扩展. JStor ...

  7. 基于MySQL元数据的Hive的安装和简单測试

    引言: Hive是一种强大的数据仓库查询语言,类似SQL,本文将介绍怎样搭建Hive的开发測试环境. 1. 什么是Hive? hive是基于Hadoop的一个数据仓库工具,能够将结构化的数据文件映射为 ...

  8. bzoj3262: 陌上花开(cdq分治+树状数组)

    3262: 陌上花开 题目:传送门 题解: %%%cdq分治 很强大的一个暴力...感觉比分块高级多了 这道题目就是一个十分经典的三维偏序的例题: 一维直接暴力排序x 二维用csq维护y 三维用树状数 ...

  9. javascript系列-class5.数组

    转载请标明出处!   栈堆结构:   堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除.   栈:存放的是路径:容量有限(在一开始被定义之后就不会改变了): ...

  10. .net垃圾回收-原理浅析

    本文引自:http://www.cnblogs.com/wilber2013/p/4357910.html 在开发.NET程序过程中,由于CLR中的垃圾回收(garbage collection)机制 ...