java使用HttpClient传输json格式的参数

最近的一个接口项目,传的参数要求是json,需要特殊处理一下。

重点是这两句话:

httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");se.setContentType(CONTENT_TYPE_TEXT_JSON);这两句话的作用与jmeter的设置header信息类似
package com.base;

import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.util.EntityUtils;

/**
 * @author QiaoJiafei
 * @version 创建时间:2015年11月4日 下午1:55:45
 * 类说明
 */
public class HttpGetByJson {
      public static void main(String args[]) throws Exception{
          final String CONTENT_TYPE_TEXT_JSON = "text/json";
          DefaultHttpClient client = new DefaultHttpClient(
                  new PoolingClientConnectionManager());

          String url = "http://172.16.30.226:8091/svc/authentication/register";
        String js = "{\"userName\":\"18600363833\",\"validateChar\":\"706923\",\"randomChar\":\"706923\",\"password\":\"123456\",\"confirmPwd\":\"123456\",\"recommendMobile\":\"\",\"idCard\":\"320601197608285792\",\"realName\":\"阙岩\",\"verifyCode\"}";

        HttpPost httpPost = new HttpPost(url);
        httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");

        StringEntity se = new StringEntity(js);
        se.setContentType(CONTENT_TYPE_TEXT_JSON);

        httpPost.setEntity(se);

        CloseableHttpResponse response2 = null;

        response2 = client.execute(httpPost);
        HttpEntity entity2 = null;
        entity2 = response2.getEntity();
        String s2 = EntityUtils.toString(entity2, "UTF-8");
        System.out.println(s2);
      }

}
时间: 2024-11-09 22:10:36

java使用HttpClient传输json格式的参数的相关文章

java web 服务器端处理json格式参数

前面我们说了传递参数的两种访书,第一是key-value形式,第二是json格式,对于第一种我们在服务器端直接使用 request.getParameter("key");就能获取key对应的value.但是对于传递的json就不能使用这样的代码了,利用json传递的参数存在request的body里,我们需要从里面输入流里面读取,下面是代码: 1 /** 2 * 获取请求的 body 3 * @param req 4 * @return 5 * @throws IOException

Java使用jackson操作Json格式数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,她是 JavaScript原生态的数据格式. 她独立于任何编程语言.可读性高.易于生成和解析.体积轻量,这些优雅的特性,让JSON成为非常理想的数据交换的语言. 原文地址: http://www.hpboys.com/616.html 在使用Java操作JSON时,我们用到了Jackson框架. Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Ja

java请求POST发送json格式请求

public static String upload(String url){ try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); MultipartEntity reqEntity = new MultipartEntity(); ArrayList<HashMap<String,String>> enclosureList = new Arr

java之后台返回json格式字符串,前台接受并转为json文件

作为一个菜鸟,做项目真的好困难呀,这两天被一个问题困了两天,终于解决了,但是也不算太完美.首先,先说一下问题吧,根据后台返回的值,前台接受并作出一个折线图. 最初,在后台根据从数据库中的值,强制拼成了json格式的字符串,利用model返回给前台,前台Ajax  success:function(data)data接收数据,这是应该接收的是字符串,由于折线图中series中的data为非字符串,(这个是后来百度才知道的),就没有成功.然后就想后台直接将数据转换成json,然后返回前台,利用里JS

nodejs 获取url中json格式的参数

在使用nodejs时经常使用req.query.参数名 来获取参数的值 例如 url : http://localhost:7778/project?id=1 <span style="font-size:18px;">var id = req.query.id console.log(id);//打印出url的id参数值1 </span> 但是在url中的参数是JSON格式时就出现了问题 url:http://localhost:7778/project?ma

spring mvc接收JSON格式的参数

1.配置spring解析json的库   <dependency>         <groupId>org.codehaus.jackson</groupId>         <artifactId>jackson-mapper-asl</artifactId>         <version>1.9.8</version>         <type>jar</type>         &

把java对象转化为json格式的对象数组

Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象

场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个json对象的字符串,采用application/json的类型,在后端control中利用@RequestBody将json字符串直接转换成对应的Java对象,如: var dataStr = '[{"id":1476,"name":"test"}]';

参数为json格式的HTTP接口性能测试

日前刚接了一个HTTP接口性能测试任务,当时想:HTTP接口测试很容易的嘛,跟网页一样放在浏览器中录制就可以拿到脚本了,10分钟都不用.可结果让我折腾了半天,因为开发人员提供的接口的参数格式是json格式,不能直接在浏览器中访问,如果在浏览器中访问是直接返回400的. 还好哥最近对HTTP接口这块比较勤学好问,看过不少资料,忆起曾经有一篇技术文档写到可以把post请求的参数转码之后,拼接到URL中转成get请求来访问.于是乎,哥用python中的urllib模块把json格式的参数转码之后,拼接