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;
}
}
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;
}
}
相关文章推荐
- HttpClient模拟get,post请求并发送请求参数(json等)
- 利用HttpClient 发送Patch请求,携带Json参数
- HttpClient模拟get,post请求并发送请求参数(json等)
- Android/Java 中利用HttpClient 发送Patch请求,携带Json参数
- HttpClient模拟get,post请求并发送请求参数(json等)
- HttpClient模拟get,post请求并发送请求参数(json等)
- JMeter压力测试post请求json参数来源文件
- ajax网络请求时候的data参数应该用JSON.stringify?
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- 扩展SpringMVC以支持绑定JSON格式的请求参数
- axis2 webservice 接口请求(json对象组装参数请求(用于对象请求)、多个参数请求、阿里巴巴json工具使用)
- 扩展SpringMVC以支持绑定JSON格式的请求参数
- httpclient请求方式下的泛型json转换问题
- SpringMVC如何接受POST请求中的json参数
- 使用Httpclient向百度翻译提交POST请求 接受返回的JSON字符串 实现翻译功能(2)----Httpclient使用详解
- http post 请求参数格式是json
- httpclient提交json参数
- Jquery发送ajax请求以及datatype参数为text/JSON方式
- java使用HttpClient传输json格式的参数
- Android HttpURLconnection使用POST请求参数是json