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;
/**
*@authorAdministrator
*/
public class HttpClientUtil{
public static String doGet(Stringurl,Map<String,String>param){
//創建Httpclient對象
CloseableHttpClient httpclient=HttpClients.createDefault();
String resultString="";
CloseableHttpResponse response=null;
try{
//創建uri
URIBuilder builder=new URIBuilder(url);
if(param!=null){
for(Stringkey:param.keySet()){
builder.addParameter(key,param.get(key));
}
}
URI uri=builder.build();
//創建httpGET請求
HttpGet httpGet=new HttpGet(uri);
//執行請求
response=httpclient.execute(httpGet);
//判斷返回狀態是否爲200
if(response.getStatusLine().getStatusCode()==200){
resultString=EntityUtils.toString(response.getEntity(),"UTF-8");
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(response!=null){
response.close();
}
httpclient.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
return resultString;
}
public static String doGet(Stringurl){
return doGet(url,null);
}
public static String doPost(String url,Map<String,String>param){
//創建Httpclient對象
CloseableHttpClient httpClient=HttpClients.createDefault();
CloseableHttpResponse response=null;
Stringresult String="";
try{
//創建HttpPost請求
HttpPost httpPost=new HttpPost(url);
//創建參數列表
if(param!=null){
List/*<NameValuePair>*/paramList=newArrayList<>();
for(Stringkey:param.keySet()){
paramList.add(newBasicNameValuePair(key,param.get(key)));
}
//模擬表單
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(paramList,"utf-8");
httpPost.setEntity(entity);
}
//執行http請求
response=httpClient.execute(httpPost);
result String=EntityUtils.toString(response.getEntity(),"utf-8");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
response.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
return resultString;
}
public static String doPost(String url,Map<String,String>param,String token){
//創建Httpclient對象
CloseableHttpClient httpClient=HttpClients.createDefault();
CloseableHttpResponse response=null;
String resultString="";
try{
//創建HttpPost請求
HttpPost httpPost=new HttpPost(url);
httpPost.setHeader("Content-Type","application/x-www-form-urlencoded");
if(token!=null){
httpPost.addHeader("Authorization","QBox"+token);
}
//創建參數列表
if(param!=null){
List/*<NameValuePair>*/paramList=new ArrayList<>();
for(Stringkey:param.keySet()){
paramList.add(newBasicNameValuePair(key,param.get(key)));
}
//模擬表單
UrlEncodedFormEntity entity=new UrlEncodedFormEntity(paramList,"utf-8");
httpPost.setEntity(entity);
}
//執行http請求
response=httpClient.execute(httpPost);
resultString=EntityUtils.toString(response.getEntity(),"utf-8");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
response.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
return resultString;
}
public static String doPost(String url){
return doPost(url,null,null);
}
public static String doPostJson(String url,String json){
//創建Httpclient對象
CloseableHttpClient httpClient=HttpClients.createDefault();
CloseableHttpResponse response=null;
String resultString="";
try{
//創建HttpPost請求
HttpPost httpPost=new HttpPost(url);
//創建請求內容
StringEntity entity=new StringEntity(json,ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
System.out.println(httpPost);
//執行http請求
response=httpClient.execute(httpPost);
resultString=EntityUtils.toString(response.getEntity(),"utf-8");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
response.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
return resultString;
}
public static String doPostJson(Stringurl,Stringjson,Stringtoken){
//創建Httpclient對象
CloseableHttpClien thttpClient=HttpClients.createDefault();
CloseableHttpResponse response=null;
String resultString="";
try{
//創建HttpPost請求
HttpPost httpPost=new HttpPost(url);
if(token!=null){
httpPost.setHeader("Authorization","QBox<"+token+">");
}
//創建請求內容
StringEntity entity=new StringEntity(json,ContentType.APPLICATION_JSON);
httpPost.setEntity(entity);
System.out.println(httpPost);
//執行http請求
response=httpClient.execute(httpPost);
resultString=EntityUtils.toString(response.getEntity(),"utf-8");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
response.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
return resultString;
}
}