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

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. 洛谷P1138 第k小整数

    我偏不用sort Treap好题啊 看到只有一个人写Treap,而且写的不清楚,那我就来详细地写一下,方便新人学习 第(-1)部分:前置知识 二叉查找树:满足左子树的数据都比根节点小,右子树的数据都比 ...

  2. JavaScript变量提升(Hoisting)的小案例

    变量提升(Hoisting)的小案例 执行以下代码的结果是什么?为什么? 答案 这段代码的执行结果是undefined 和 2. 这个结果的原因是,变量和函数都被提升(hoisted) 到了函数体的顶 ...

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

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

  4. m_Orchestrate learning system---十一、thinkphp查看临时文件的好处是什么

    m_Orchestrate learning system---十一.thinkphp查看临时文件的好处是什么 一.总结 一句话总结:可以知道thinkphp的标签被smarty引擎翻译而来的php代 ...

  5. 修改DNS

    解决方案一: 修改/etc/resolv.conf,添加 nameserver 8.8.8.8 nameserver 8.8.4.4 然后停用NetworkManager,service Networ ...

  6. base标签的作用是什么

    转自:https://www.cnblogs.com/chenqiBlog/p/9517905.html base标签是HTML语言中的基准网址标记,它是一个单标签,位于网页头部文件的head标签内, ...

  7. 15-11-24 system同步与异步

    //打开关闭qq #define _CRT_SECURE_N0_WARNINGS #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #i ...

  8. JavaScript中Array方法总览

    title: JavaScript中Array方法总览 toc: true date: 2018-10-13 12:48:14 push(x) 将x添加到数组最后,可添加多个值,返回数组长度.改变原数 ...

  9. (转载)Android引导界面实现

    Android引导界面实现 Android   2014-07-10 14:47:36 发布 您的评价:       4.0   收藏     3收藏 ViewPager类提供了多界面切换的新效果,是 ...

  10. hiho1079 - 数据结构 线段树(入门题,离散化)

    题目链接 描述 小Hi和小Ho在回国之后,重新过起了朝7晚5的学生生活,当然了,他们还是在一直学习着各种算法~ 这天小Hi和小Ho所在的学校举办社团文化节,各大社团都在宣传栏上贴起了海报,但是贴来贴去 ...