前两天在工作中,项目组长给我了一个远程接口让我给测一下,因为是http协议,所以我首先想到了用httpClient工具类来测试,网上一查,找到了好多示例代码,随便复制了一个demo进行了简单的修改,结果怎么测试都是连接超时,试了很多个demo也不好使,最后发现是因为我们公司访问外网是通过代理,所以在进行测试的时候需要配置代理。一下是我的测试程序

用到的jar包:

aaarticlea/png;base64,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" alt="" />

 package com.lym.test;

 import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils; import com.google.gson.JsonObject; public class HttpClientTest { public static void main(String args[]) throws Exception { // 创建HttpClientBuilder
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
// HttpClient
CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
// 依次是目标请求地址,端口号,协议类型
HttpHost target = new HttpHost("61.144.244.6:8888/sztmerchant/merchant/addIsztMerchant.htm", 8888, "http");
// 依次是代理地址,代理端口号,协议类型
HttpHost proxy = new HttpHost("proxy3.bj.petrochina", 8080, "http");
RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); // 请求地址
HttpPost httpPost = new HttpPost("http://61.144.244.6:8888/sztmerchant/merchant/addIsztMerchant.htm");
// 设置头信息
httpPost.addHeader("Content-type", "application/json; charset=utf-8");
httpPost.setHeader("Accept", "application/json");
httpPost.setConfig(config); // 创建参数json串
JsonObject jsonObj = new JsonObject();
jsonObj.addProperty("merchantNo", "33300911238");
jsonObj.addProperty("merchantName", "电商运营生产测试1238");
String jsonStr = jsonObj.toString();
System.out.println("parameters: " + jsonStr); StringEntity entity;
try {
entity = new StringEntity(jsonStr, "UTF-8");
httpPost.setEntity(entity);
CloseableHttpResponse response = closeableHttpClient.execute(target, httpPost);
// getEntity()
HttpEntity httpEntity = response.getEntity();
if (httpEntity != null) {
// 打印响应内容
System.out.println("result: " + EntityUtils.toString(httpEntity, "UTF-8"));
}else {
System.out.println("无响应内容");
}
// 释放资源
if(closeableHttpClient != null) {
closeableHttpClient.close();
}
} catch (Exception e) {
e.printStackTrace();
}
} }

使用HttpClient进行远程接口测试的更多相关文章

  1. HttpClient实现远程调用

           在项目中,我们常常遇到远程调用的问题,一个模块总是无法单独存在,总需要调用第三方或者其他模块的接口.这里我们就涉及到了远程调用. 原来在 ITOO中,我们是通过使用EJB来实现远程调用的 ...

  2. HttpClient + Testng实现接口测试

    HttpClient教程 : https://www.yeetrack.com/?p=779 一,所需要的环境: 1,testng .httpclient和相关的依赖包 二.使用HttpClient登 ...

  3. HttpClient远程接口调用-实名认证

    1.HttpClient远程接口调用 1)用户注册 注册按钮button提交表单时,要return false form表单 <!-- action="http://localhost ...

  4. 飞信免费发送接口API的测试 httpClient

    测试飞信免费发送接口API的测试(HTTPClient实现) 使用优点:快捷,方便 使用缺点:用户的各种信息以明文形式在网络中传输不安全. 仅仅用于测试 package cn.com.vnvtrip. ...

  5. 在Core环境下用WebRequest连接上远程的web Api 实现数据的简单CRUD(续)

    这篇博客是上篇博客的续写,上篇博客用的是HttpClient取远程数据,用WebRequest提交,更新,删除数据.上篇本来想全文都用httpClient,可是当时无论如何也实现不了数据的提交,于是换 ...

  6. SpringBoot关于系统之间的远程互相调用

    1.SpringBoot关于系统之间的远程互相调用 可以采用RestTemplate方式发起Rest Http调用,提供有get.post等方式. 1.1远程工具类 此处使用Post方式,参考下面封装 ...

  7. Task.Delay方法的2个应用实例,单元测试等待,限时限次下载远程资源

    如果想让程序异步等待一段时间,可以考虑使用Task.Delay方法. 比如,在单元测试中模拟一个异步操作. static async Task<T> DelayedResult<T& ...

  8. webservice的接口协议(HTTPClient 、RestTemplate HttpURLConnection)

    HTTP协议时Internet上使用的很多也很重要的一个协议,越来越多的java应用程序需要通过HTTP协议来访问网络资源. HTTPClient提供的主要功能: 1.实现了所有HTTP的方法(GET ...

  9. RestTemplate配置

    什么是RestTemplate? RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效 ...

随机推荐

  1. laravel blade模板里调用路由方法重定向

    @if (Session::get('user') == NULL) {!!Redirect::to('login')!!} @endif or @if (Session::get('user') = ...

  2. sencha touch routes(路由) 传递中文参数

    使用路由的时候可以传递参数 如下: index.html#eaterylist/335/61/61/61/B/商户名称 其中6个参数依次是:商户编号/公众账号/微信号/校验号/服务类型/商户名称 因为 ...

  3. [原]sublime Text2

    sublime Text2 升级到 2.0.2 build 2221 64位 的破破解 sublime Text2 download website 链接: http://pan.baidu.com/ ...

  4. 成员函数指针与高效C++委托 (delegate)

    下载实例源代码 - 18.5 Kb 下载开发包库文件 - 18.6 Kb 概要 很遗憾, C++ 标准中没能提供面向对象的函数指针. 面向对象的函数指针也被称为闭包(closures) 或委托(del ...

  5. CListCtrl使用(转)

    CListCtrl使用技巧 以下未经说明,listctrl默认view 风格为report 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标      LVS_SMALLI ...

  6. [分布式系统学习]阅读笔记 Distributed systems for fun and profit 之四 Replication 拷贝

    阅读http://book.mixu.net/distsys/replication.html的笔记,是本系列的第四章 拷贝其实是一组通信问题,为一些子问题,例如选举,失灵检测,一致性和原子广播提供了 ...

  7. 利用javascript判断文件是否存在

    1 判断本地文件是否存在 var fso,s=filespec; // filespec="C:/path/myfile.txt" fso=new ActiveXObject(&q ...

  8. Redis+Keepalived实现高可用

    使用redis哨兵可以在主服务器出现故障的时候自动切换主从,但是从服务器的IP不同于原主服务器的IP还需要在客户端手动修改IP才能生效 下面使用keepalived实现VIP自动漂移 keepaliv ...

  9. 关于Python的集合set

    网上那么多说创建集合的语句是: >>>a=set([1,2,3]) python 3.6.3,你们真的能运行吗? 我这里报: Traceback (most recent call ...

  10. spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法

    前两天在学spring boot的时候,出现了一个很奇怪的错误,因为是第一次使用spring boot,所以没想到会遇到这种莫名其妙的bug,即调用接口删除数据库中一条记录的时候,数据库中记录事实上以 ...