接口测试之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;
    }

 

posted @ 2018-05-23 17:59  薛定谔病态猫  阅读(279)  评论(0编辑  收藏  举报