java-httpclient工具类2018-07-23

httpclientutil

importjava.io.IOException;

importjava.net.URI;

importjava.util.ArrayList;

importjava.util.List;

importjava.util.Map;

importorg.apache.http.NameValuePair;

importorg.apache.http.client.entity.UrlEncodedFormEntity;

importorg.apache.http.client.methods.CloseableHttpResponse;

importorg.apache.http.client.methods.HttpGet;

importorg.apache.http.client.methods.HttpPost;

importorg.apache.http.client.utils.URIBuilder;

importorg.apache.http.entity.ContentType;

importorg.apache.http.entity.StringEntity;

importorg.apache.http.impl.client.CloseableHttpClient;

importorg.apache.http.impl.client.HttpClients;

importorg.apache.http.message.BasicNameValuePair;

importorg.apache.http.util.EntityUtils;

publicclassHttpClientUtil{

publicstaticStringdoGet(String url, Map param){

// 创建Httpclient对象

CloseableHttpClient httpclient = HttpClients.createDefault();

String resultString ="";

CloseableHttpResponse response =null;

try{

// 创建uri

URIBuilder builder =newURIBuilder(url);

if(param !=null) {

for(String key : param.keySet()) {

builder.addParameter(key, param.get(key));

}

}

URI uri = builder.build();

// 创建http GET请求

HttpGet httpGet =newHttpGet(uri);

// 执行请求

response = httpclient.execute(httpGet);

// 判断返回状态是否为200

if(response.getStatusLine().getStatusCode() ==200) {

resultString = EntityUtils.toString(response.getEntity(),"UTF-8");

}

}catch(Exception e) {

e.printStackTrace();

}finally{

try{

if(response !=null) {

response.close();

}

httpclient.close();

}catch(IOException e) {

e.printStackTrace();

}

}

returnresultString;

}

publicstaticStringdoGet(String url){

returndoGet(url,null);

}

publicstaticStringdoPost(String url, Map param){

// 创建Httpclient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

CloseableHttpResponse response =null;

String resultString ="";

try{

// 创建Http Post请求

HttpPost httpPost =newHttpPost(url);

// 创建参数列表

if(param !=null) {

List paramList =newArrayList<>();

for(String key : param.keySet()) {

paramList.add(newBasicNameValuePair(key, param.get(key)));

}

// 模拟表单

UrlEncodedFormEntity entity =newUrlEncodedFormEntity(paramList);

httpPost.setEntity(entity);

}

// 执行http请求

response = httpClient.execute(httpPost);

resultString = EntityUtils.toString(response.getEntity(),"utf-8");

}catch(Exception e) {

e.printStackTrace();

}finally{

try{

response.close();

}catch(IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

returnresultString;

}

publicstaticStringdoPost(String url){

returndoPost(url,null);

}

publicstaticStringdoPostJson(String url, String json){

// 创建Httpclient对象

CloseableHttpClient httpClient = HttpClients.createDefault();

CloseableHttpResponse response =null;

String resultString ="";

try{

// 创建Http Post请求

HttpPost httpPost =newHttpPost(url);

// 创建请求内容

StringEntity entity =newStringEntity(json, ContentType.APPLICATION_JSON);

httpPost.setEntity(entity);

// 执行http请求

response = httpClient.execute(httpPost);

resultString = EntityUtils.toString(response.getEntity(),"utf-8");

}catch(Exception e) {

e.printStackTrace();

}finally{

try{

response.close();

}catch(IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

returnresultString;

}

}

你可能感兴趣的:(java-httpclient工具类2018-07-23)