微信請求工具類HttpClientUtil

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;

         }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章