接口测试之HttpClient
Posted 薛定谔的猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试之HttpClient相关的知识,希望对你有一定的参考价值。
一.Get请求测试
测试依赖
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency>
public static String getResult(String url,Map<String, Object> queryMap,Map<String, Object> postMap){ //使用方法 String host = "http://localhost:8081/"; //1、公共参数 String appid = "2c844a8b24b047d1a4c350f07240d2dc"; String appsecret = "d75203566ed744a1a6ef90b9d22c46e7"; String noncestr = "32412423"; String erp = "e3"; String erpVersion = "1.0"; // postMap.put("type", "中文"); //4、求出签名和请求串 String[] rets = GetSignUtils.genSign(appid, appsecret, noncestr, erp, erpVersion, queryMap, postMap);//如果非POST请求则最后一个参数postMap为null即可 System.out.println(rets[1]); String httpGet = HttpClientUtil.HttpGet(host + url + "?" + rets[1]); return httpGet; }
二.Post请求测试
public static String postResult(String url,Map<String,Object> queryMap,Map<String,Object> postMap,JSONObject jsonParam){ //使用方法 String host = "http://localhost:8081/"; //1、公共参数 String appid = "2c844a8b24b047d1a4c350f07240d2dc"; String appsecret = "d75203566ed744a1a6ef90b9d22c46e7"; String noncestr = "32412423"; String erp = "e3"; String erpVersion = "1.0"; String[] rets = GetSignUtils.genSign(appid, appsecret, noncestr, erp, erpVersion, queryMap, postMap);//如果非POST请求则最后一个参数postMap为null即可 String uri = host + url +"?"+ rets[1]; System.out.println(uri); HttpPost httpPost = new HttpPost(uri); CloseableHttpClient client = HttpClients.createDefault(); String respContent = null; // json方式 StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");//解决中文乱码问题 entity.setContentEncoding("UTF-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); System.out.println(); HttpResponse resp = null; try { resp = client.execute(httpPost); if(resp.getStatusLine().getStatusCode() == 200) { HttpEntity he = resp.getEntity(); respContent = EntityUtils.toString(he,"UTF-8"); } } catch (IOException e) { e.printStackTrace(); } return respContent; }
以上是关于接口测试之HttpClient的主要内容,如果未能解决你的问题,请参考以下文章