`

http请求测试实例(采用json-lib解析)

阅读更多

        由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。

package com;

import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONObject;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpConnectionManagerParams;

public class BJTTest {

    public static void main(String[] args) {

        Map paramMap = new HashMap();
        paramMap.put("queryName", "张三");
        paramMap.put("age", "30");

        JSONObject jsonObj = new JSONObject(paramMap);
        String jsonStr = jsonObj.toString();
        System.out.println("jsonStr:" + jsonStr);

        try {
            PostMethod postMethod = new PostMethod("http://serviceAddress/system//address/queryInfo");
            StringRequestEntity se = new StringRequestEntity(jsonStr, "application/json", "utf-8");
            postMethod.setRequestEntity(se);

            HttpClient httpClient = getHttpClient();
            httpClient.executeMethod(postMethod);

            String body = new String(postMethod.getResponseBody(), "UTF-8");
            JSONObject jsonObject = new JSONObject(body);

            System.out.println("result:" + jsonObject.toString());
        } catch (Exception e) {
            System.out.println("调用异常:" + e.getMessage());
        }
    }

    private static HttpClient getHttpClient() {
        HttpConnectionManagerParams http_pams = new HttpConnectionManagerParams();
        http_pams.setConnectionTimeout(10000);
        http_pams.setSoTimeout(10000);
        http_pams.setDefaultMaxConnectionsPerHost(10);
        http_pams.setMaxTotalConnections(10);

        MultiThreadedHttpConnectionManager http_manger = new MultiThreadedHttpConnectionManager();
        http_manger.setParams(http_pams);
        HttpClient httpClient = new HttpClient(http_manger);

        return httpClient;
    }
}

 

附:依赖JAR包

分享到:
评论

相关推荐

    jmeter-json.zip

    《JMeter与JSON处理:利用BeanShell增强测试性能》 在软件测试领域,Apache JMeter是一款广泛应用的性能测试工具,它允许用户模拟大量并发用户来测试服务器、网络或对象的性能。而随着Web应用程序的日益复杂,JSON...

    Struts2+Spring2.5+jdbc+Ext+json实例的lib包

    在"Struts2+Spring2.5+jdbc+Ext+json实例的lib包"中,可能包含了上述技术的相应库文件,如Struts2的struts2-core、spring的spring-context、jdbc驱动、Ext库文件(如ext-js和ext-core)以及用于处理JSON的json-lib或...

    jmeter实例(json断言+参数化)

    本文档旨在详细解析如何在JMeter中利用JSON断言以及参数化技术来进行高效、准确的接口测试。通过具体的案例,我们将逐步介绍如何配置JSON断言来校验JSON响应数据的正确性,以及如何通过参数化来模拟真实用户的多账户...

    Struts2中使用JSON

    - 下载并添加JSON库,如`json-lib-2.1-jdk15.jar`。此外,还需要依赖其他几个第三方库,如`commons-beanutils.jar`, `commons-collections-3.1.jar`, `commons-lang-2.3.jar`, `ezmorph-1.0.4.jar`。 - 获取Struts...

    安卓通过json获取webservlet上的数据

    6. **依赖包**:`json-lib-2.4-jdk15`是另一个JSON解析库,它提供了一种与Java集合和XML转换的方法。虽然现在不常用,但在某些老项目中可能会见到。 7. **交互方式**:在`android客户端与服务端交互的三种方式.docx...

    接口测试工具-resty-jar包

    RESTy是一个轻量级的Java库,其核心功能是简化HTTP客户端操作,允许开发者轻松地发送GET、POST以及其他HTTP请求,并解析响应结果。在Eclipse中引用RESTy的jar包,可以极大地提升接口测试的效率和便利性。 首先,...

    struts2中配置json

    在Struts2中配置JSON是为了让应用程序能够处理和返回JSON格式的数据,这在现代Web应用中非常常见,因为JSON是轻量级且易于解析的数据交换格式。在本文中,我们将深入探讨如何在Struts2中配置JSON支持以及其相关知识...

    (知识引用自)廖雪峰-JavaScript-Python-Git-教程-by-it-ebooks-_z-lib.org_1

    25. **第三方模块**:如requests库进行HTTP请求,BeautifulSoup解析HTML,Numpy和Pandas处理科学数据。 以上只是JavaScript和Python基础知识的一部分,实际学习过程中还涉及更多进阶主题,如模块化开发、异常处理、...

    httpclient抓取网页数据和所需的10个jar包

    9. `json-lib.jar` - JSON处理库,如果需要解析或生成JSON格式的数据,可能用到。 10. `jackson-core-asl.jar` / `jackson-mapper-asl.jar` - Jackson库,用于JSON序列化和反序列化,处理HTTP响应中的JSON数据。 ...

    cloudlab-ondemand-profile:使用python和geni-lib的cloudlab配置文件,用于测试Open Ondemand

    可能涉及的Python知识点包括文件操作、网络请求、JSON解析等,这些都是配置和管理远程服务时常用的技术。 `Shell`标签则提示我们,除了Python之外,可能还会有Shell脚本的使用。Shell脚本通常用于系统管理任务,如...

    android网络框架MVP XRjava OKhttp Retrofit 最简单最基础使用

    Retrofit结合了Gson或Jackson等库,能够自动将JSON数据转化为Java对象,极大地简化了网络数据的解析过程。与OKhttp结合使用时,可以构建出强大且高效的网络请求解决方案。 下面,我们将逐一介绍这些技术的基础使用...

    struts2+rest简单实例

    - **Struts2 REST插件**:这个插件使Struts2能够处理RESTful请求,解析HTTP方法和URI模板。 - **Action映射**:配置Action以响应特定的RESTful路径,例如`...

    Extjs中文教程

    - JSON-LIB是一个用于解析JSON数据的JavaScript库。 - 在Extjs中通常使用原生的JSON解析功能。 - **分页工具栏** - 分页工具栏提供了一组按钮,用于控制表格的分页操作。 - 包括上一页、下一页...

    一个简单的接口开发实例-项目模板

    在接口开发中,可能包含如JSON解析、加密解密、HTTP客户端等常用功能。 6. **nbproject目录**:这通常是NetBeans IDE的项目配置文件,包含了项目构建、编译和调试的相关信息。对于开发者来说,这些文件可以帮助他们...

    struts2常用jar包

    通过整合,我们可以轻松地将Action实例化和生命周期管理交给Spring容器,这有助于提高代码的可测试性和解耦性。此外,该插件还支持Spring的事务管理和安全控制。 3. **Struts2 JSON 插件(struts2-json-plugin-2.1....

    testAndroidLib:测试安卓lib

    【testAndroidLib:测试安卓lib】是一个开源项目,主要针对Android平台进行开发,采用Kotlin编程语言编写。这个库可能是为了简化Android应用开发中的常见任务,提高开发效率和代码质量而设计的。Kotlin作为现代的、...

    radiobrowser-api-rust-源码.rar

    - `parsers` 目录:解析从 API 返回的 JSON 数据,将其转换为 Rust 结构体。 4. 请求与响应处理 在 Rust 中,HTTP 请求通常通过异步库如 `async-std` 或 `tokio` 实现。源码中的请求函数会向 Radiobrowser API ...

    jfinal-2.2-manual.pdf参考手册

    - **示例:** `renderJson(json)`返回JSON格式的数据。 #### 五、AOP **5.1 概述** - **功能介绍:** AOP(面向切面编程)是JFinal中提供的增强功能,可以用于日志记录、性能监控等方面。 **5.2 Interceptor** ...

Global site tag (gtag.js) - Google Analytics