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 }