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;

}

}

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容