您的位置:首页 > 理论基础 > 计算机网络

HttpClient请求传json参数

2018-03-29 11:32 627 查看
http请求,参数为json字符串

public String setMessage(String requestData) {
String result = "";
try {
result = HttpClientUtils.doPost(url, method, requestData);
} catch (ClientProtocolException e) {
e.printStackTrace();
throw new ValidationException(SystemError.CONNECTION_FAIL);
} catch (IOException e) {
e.printStackTrace();
}
return result; }

HttpClientUtils工具类
package com.feeling.mc.agenda.util;

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

import net.logstash.logback.encoder.org.apache.commons.lang.StringUtils;
/**
* 使用
* @author liangwenbo
*
*/
@SuppressWarnings({ "resource", "deprecation" })
public class HttpClientUtils {

public static String doGet(String url,String params) throws ClientProtocolException, IOException {

String response = null;
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 请求和响应都成功了
HttpEntity entity = httpResponse.getEntity();// 调用getEntity()方法获取到一个HttpEntity实例
response = EntityUtils.toString(entity, "utf-8");// 用EntityUtils.toString()这个静态方法将HttpEntity转换成字符串,防止
// //服务器返回的数据带有中文,所以在转换的时候将字符集指定成utf-8就可以了
}
return response;
}
/**
* localhost:8091/message
* @param url http:localhost:8080
* @param method 方法
* @return params 参数
* @throws ClientProtocolException
* @throws IOException
*/
public static String doPost(String url, String method, String params) throws ClientProtocolException, IOException {
String response = null;

String sendUrl = url+method;

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(sendUrl);

if (StringUtils.isNotBlank(params)) {
httpPost.setEntity(new StringEntity(params, "utf-8"));
}
HttpResponse httpResponse = httpClient.execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 请求和响应都成功了
HttpEntity entity = httpResponse.getEntity();// 调用getEntity()方法获取到一个HttpEntity实例
response = EntityUtils.toString(entity, "utf-8");// 用EntityUtils.toString()这个静态方法将HttpEntity转换成字符串,防止
// //服务器返回的数据带有中文,所以在转换的时候将字符集指定成utf-8就可以了
}
return response;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: