HttpClientをツールバー

  1     プライベート 静的 INT SOCKET_TIME_OUT = 60 * 1000;         // 送信タイムアウト間隔       
  2      プライベート 静的 int型 CONNECT_TIME_OUT = 60 * 1000;         // リンク確立タイムアウト
  。3      
  。4      / ** 
  。5       * @author Yanzm
   。6       * @param URLリクエスト経路
   7       * @ PARAMの要求パラメータjsonString JSON形式
   。8       * @return 
  。9       * / 
10      パブリック 静的文字列のdoPost(URL文字列、文字列jSONString){
 11         CloseableHttpClientのHttpClient = HttpClients.createDefault()。
12          CloseableHttpResponse応答= NULL ;
13          列resultStr = NULL ;
14          HttpPostポスト= 新しいHttpPost(URL);
15          
16          RequestConfig requestConfig = RequestConfig.custom()
 17                  .setSocketTimeout(SOCKET_TIME_OUT)
 18                  .setConnectTimeout(CONNECT_TIME_OUT).build();
19          post.setConfig(requestConfig)。
20          
21          のtry {
 22             post.addHeader( "同意する"、 "アプリケーション/ JSON" );
23              StringEntityエンティティ= 新しいStringEntity(jsonString)。
24          
25              post.setEntity(エンティティ)
26              応答= httpClient.execute(POST)。
27              であれば(response.getStatusLine()getStatusCode()== 200 ){
 28                  resultStr = EntityUtils.toString(response.getEntity()、 "UTF-8" )。
29                  であれば(StringUtils.isNotBlank(resultStr)){
 30                      リターンresultStr。
31                  } {
 32                     log.info( "リクエストに対する正常な応答は、返されたデータが空である" );
 33で                     リターンResultStr;
 34である                 }
 35              } {
 36                  log.error( "異常応答ステータスコードがある:{}" 、response.getStatusLine()。 getStatusCode());
 37 [                  戻りStringUtils.EMPTYを、
 38である             }
 39          } キャッチ(例外E){
 40              log.error( "インターフェース呼び出しのHttpClient例外" );
 41である             e.printStackTrace();
 42である          } 最後に{
 43は             IF(!応答= NULL ){
 44                  のtry {
 45                      response.close()。
46                  } キャッチ(IOExceptionを電子){
 47                      log.error( "HTTPClientの応答关闭异常" )。
48                      e.printStackTrace();
49                  }
 50              }
 51              であれば(HttpClientを!= NULL ){
 52                  のtry {
 53                      httpClient.close()。
54                  } キャッチ(IOExceptionを電子){
55                      log.error( "HttpClientを閉じる異常" );
 56である                     ; e.printStackTrace()
 57である                 }
 58              }
 59          }
 60          リターンResultStr;
 61である     }
 62は、     
63である     / ** 
64       * @author Yanzm
 65       * @param   URLリクエスト経路
 66       * @return 
67       * / 
68      パブリック 静的文字列のdoGet(文字列URL){
 69          CloseableHttpClientのHttpClient =HttpClients.createDefault();
70          CloseableHttpResponse応答= NULL ;
71          列resultStr = NULL ;
72          HTTPGET GET = 新しいHTTPGET(URL);
73          
74          RequestConfig requestConfig = RequestConfig.custom()
 75                  .setSocketTimeout(SOCKET_TIME_OUT)
 76                  .setConnectTimeout(CONNECT_TIME_OUT).build();
77          get.setConfig(requestConfig)。
78          
79          のtry {
 80              get.addHeader( "同意する"、 "アプリケーション/ JSON" )。
81              
82              応答= httpClient.execute(GET);
 83              log.info( "に接続{}" 、URL);
 84              IF(Response.getStatusLine()getStatusCode()== 200 ){
 85                  ResultStr EntityUtils.toString(= response.getEntity()、 "UTF-8" );
 86                  IF (StringUtils.isNotBlank(ResultStr)){
 87                      リターンResultStr;
 88                  } {
 89                      log.info( "リクエストに対する正常な応答は、返されたデータが空です" )。
 90                      リターンResultStr;
 91です                 }
92              } {
 93                  log.errorは( "異常レスポンスステータスコードは:{}" 、Response.getStatusLine()getStatusCode());
 94                  リターンStringUtils.EMPTY;
 95              }
 96          } キャッチ(例外E){
 97              ログ.ERROR( "HttpClientを異常呼インタフェース" );
 98              e.printStackTrace();
 99          } 最後に{
 100              IF(!応答= NULL ){
 101                  のtry {
 102                      response.close();
 103                 } キャッチ(IOExceptionを電子){
 104                      log.error( "HTTPClientの応答关闭异常" )。
105                      e.printStackTrace();
106                  }
 107              }
 108              であれば(!のHttpClient = NULL ){
 109                  のtry {
 110                      httpClient.close()。
111                  } キャッチ(IOExceptionを電子){
 112                      log.error( "HttpClientを关闭异常" )。
113                      e.printStackTrace();
114                 }
 115              }
 116          }
 117          リターンresultStr。
118      }
 119      
120      公共 静的 ボイド setSocketTimeOut(INT TIMEOUT){
 121          SOCKET_TIME_OUT = TIMEOUT。
122      }
 123      
124      公共 静的 ボイド setConnectTimeOut(INT TIMEOUT){
 125          CONNECT_TIME_OUT = TIMEOUT。
126      }

 

おすすめ

転載: www.cnblogs.com/yan-zm/p/12629452.html