http请求测试实例(采用fastjson解析)

编程技术  /  houtizong 发布于 3年前   63

        在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。

import java.util.HashMap;import java.util.Map;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;import org.junit.Assert;import org.junit.Before;import org.junit.Test;import com.alibaba.fastjson.JSONObject;public class TTest {        private String serverURL = "http://serviceAddress/system";    private String address = "/address/queryInfo";    private String username = "lisi";    private String password = "123";    @Before    public void setUp() throws Exception {    }        @Test    public void queryInfo_test() throws Exception {        Map<String, Object> paramMap = new HashMap<String, Object>();        paramMap.put("queryName", "张三");        paramMap.put("age", 30);        String paramJson = JSONObject.toJSONString(paramMap);        String result = httpConnectionWithAuth(serverURL, address, paramJson, username, password);        //String result = httpConnectionWithNoAuth(serverURL, address, paramJson);        JSONObject object = JSONObject.parseObject(result);        Assert.assertEquals(object.get("result"), true);    }        /**     * 带认证的请求     */    private String httpConnectionWithAuth(String url, String addr, String json, String un, String pw) throws Exception {        System.out.println("请求参数:\r\n" + json);        System.out.println("请求地址:" + url + addr);        HttpClient client = new HttpClient();        PostMethod postMethod = new PostMethod(url + "//j_security_check");        NameValuePair[] param = { new NameValuePair("j_username", un), new NameValuePair("j_password", pw),                new NameValuePair("SMAUTHREASON", "0") };        postMethod.setRequestBody(param);        client.executeMethod(postMethod);        postMethod.releaseConnection();        GetMethod method = new GetMethod(url + "/do/LoginController/login");        client.executeMethod(method);        long s = System.currentTimeMillis();        postMethod = new PostMethod(url + addr);        postMethod.setRequestBody(json);        postMethod.addRequestHeader("Content-Type", "application/json;charset=UTF-8");        client.executeMethod(postMethod);        long t = System.currentTimeMillis();        String result = postMethod.getResponseBodyAsString();        System.out.println("执行时长:" + (t - s) + "ms");        System.out.println("返回结果:" + JSONObject.parseObject(result));        postMethod.releaseConnection();        return result;    }        /**     * 无需认证的请求     */    private String httpConnectionWithNoAuth(String url, String addr, String json) throws Exception {        System.out.println("请求参数:\r\n" + json);        System.out.println("请求地址:" + url + addr);        HttpClient client = new HttpClient();        long s = System.currentTimeMillis();        PostMethod postMethod = new PostMethod(url + addr);        postMethod.setRequestBody(json);        postMethod.addRequestHeader("Content-Type", "application/json;charset=UTF-8");        client.executeMethod(postMethod);        long t = System.currentTimeMillis();        String result = postMethod.getResponseBodyAsString();        System.out.println("执行时长:" + (t - s) + "ms");        System.out.println("返回结果:" + JSONObject.parseObject(result));        postMethod.releaseConnection();        return result;    }}

 

PS:依赖jar包见附件。

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客