HttpClient常用调用方法
3种简单方式
用到的jar包
httpclient-4.5.jar
commons-httpclient-3.1-alpha1.jar
httpcore-4.4.1.jar
json-lib-2.2.1-jdk15.jar
/**
* GET方式
* 请求参数为key-value形式
*/
public static String keyValueGet(String url) throws Exception {
HttpClient client = new HttpClient();
GetMethod getMethod = new GetMethod(url);
client.getParams().setContentCharset("utf-8");
client.executeMethod(getMethod);
return getMethod.getResponseBodyAsString();
}
/**
* post请求,请求参数为key-value形式
*/
public static String keyValuePost(String url, Map<String, String> param)
throws Exception {
HttpClient client = new HttpClient();
PostMethod postMethod = new PostMethod(url);
client.getParams().setContentCharset("utf-8");
Set<Entry<String, String>> entrySet = param.entrySet();
for (Entry<String, String> entry : entrySet) {
postMethod.setParameter(entry.getKey(), entry.getValue());
}
client.executeMethod(postMethod);
return postMethod.getResponseBodyAsString();
}
/**
* post请求,请求体为JSONObject
* @param json 请求体
*/
public static String jsonPost(String url, JSONObject json) throws Exception {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost method = new HttpPost(url);
StringEntity entity = new StringEntity(json.toString(), "utf-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
method.setEntity(entity);
HttpResponse result = httpClient.execute(method);
return EntityUtils.toString(result.getEntity());
}