Java调用Http接口(4)–HttpClient调用Http接口
标签 java 调用 http 接口 httpclient 方式
原文 http://www.javashuo.com/article/p-fjjbkzqr-br.html
POST 请求方式
public static String httpPostWithJSON(String url, String param, String contentType, String headKey, String token) {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
HttpPost httpPost = new HttpPost(url);
client = HttpClients.createDefault();
if (!StringUtils.isEmpty(param)) {
//json 请求方式
StringEntity entity = new StringEntity(param, "UTF-8");//解决中文乱码
httpPost.setHeader("headKey", "token");
httpPost.setHeader("Content-type", "application/json");
httpPost.setEntity(entity);
//表单键值对的方式
List<NameValuePair> list = new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("userId", "1000"));
list.add(new BasicNameValuePair("userName", "张三"));
httpPost.setEntity(new UrlEncodedFormEntity(list, "utf-8"));
}
HttpResponse resp = client.execute(httpPost);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (client == null) {
return;
}
try {
client.close();
} catch (Exception e) {
}
}
return null;
}
GET 请求方式
public static String httpGetWithJSON() {
CloseableHttpClient client = null;
try {
if (url == null || url.trim().length() == 0) {
throw new Exception("URL is null");
}
String requestPath = "http://localhost:8080/webframe/demo/test/getUser?userId=1000&userName=" + URLEncoder.encode("阿甘", "utf-8");
client = HttpClients.createDefault();
if (param != null) {
HttpGet httpGet = new HttpGet(requestPath );
HttpResponse resp = client.execute(httpGet);
if (resp.getStatusLine().getStatusCode() == 200) {
return EntityUtils.toString(resp.getEntity(), "UTF-8");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (client == null) {
return;
}
try {
client.close();
} catch (Exception e) {
}
}