当前位置:首页 > 开发 > 编程语言 > Json > 正文

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

发表于: 2015-06-07   作者:bijian1013   来源:转载   浏览:
摘要:         在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。 import java.util.HashMap; import java.util.Map; import org.apache.commons.httpclient.HttpClient; import

        在实际开发中,我们经常会去做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包见附件。

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
服务端系分提供的某接口样例为: 评估后可采用使用jmeter进行压力测试的步骤为: 启动jmeter:在bin
<div class="iteye-blog-content-contain" style="font-size: 14px"></div> 这几天开始
xianwei_top 写道 希望通过本篇文章让大家对AJAX请求响应机制有个全局的了解 说到AJAX技术就必然会
web.xml 文件为java web程序的一个基础性描述文件,主要用于描述URL与Servlet如何进行映射,以及映
一、Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法
最近偶然间看到了以前写过的代码,发现了以前用的非常频繁的json解析框架fastjson。这个框架的确非
一、阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征
离发 IOS项目实战-登录解析 这篇博客有差不多一周了。也看到有朋友评论要把doLogin的代码补上来,因
教你使用Paw解析http请求 软件下载地址: 链接: http://pan.baidu.com/s/1gdzmjq7 密码: 3mpb 这款应
 本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号