packagecc.mrbird.febs.common.utils;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;importjava.io.IOException;importjava.net.URI;importjava.util.ArrayList;importjava.util.List;importjava.util.Map;public classHttpClientUtil {/*** 带参数的get请求
*@paramurl
*@paramparam
*@returnString*/
public static String doGet(String url, Mapparam) {//创建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;
}/*** 不带参数的get请求
*@paramurl
*@returnString*/
public staticString doGet(String url) {return doGet(url, null);
}/*** 带参数的post请求
*@paramurl
*@paramparam
*@returnString*/
public static String doPost(String url, Mapparam) {//创建Httpclient对象
CloseableHttpClient httpClient =HttpClients.createDefault();
CloseableHttpResponse response= null;
String resultString= "";try{//创建Http Post请求
HttpPost httpPost = newHttpPost(url);//创建参数列表
if (param != null) {
List paramList = new ArrayList<>();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) {
e.printStackTrace();
}
}returnresultString;
}/*** 不带参数的post请求
*@paramurl
*@returnString*/
public staticString doPost(String url) {return doPost(url, null);
}/*** 传送json类型的post请求
*@paramurl
*@paramjson
*@returnString*/
public staticString doPostJson(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) {
e.printStackTrace();
}
}returnresultString;
}
}