HttpClient 4.3超時設置

jopen 11年前發布 | 153K 次閱讀 網絡工具包 HttpClient

HttpClient 4.3。HttpClient這貨和Lucene一樣,每個版本的API都變化很大,這有點讓人頭疼。就好比創建一個HttpClient對象吧,每一個版本的都不一樣,

3.X是這樣的

HttpClient httpClient=new DefaultHttpClient();
4.3是這樣的
CloseableHttpClient httpClient = HttpClients.createDefault();
當然,上面這些變化只不過是一些小變化,大家看看API大家就都會了。

我要講的是超時設置,HttpClient有三種超時設置,最近比較忙,沒時間具體歸納總結,以后再補上,我這里就講一些最簡單最易用的超時設置方法。

這是個3.X的超時設置方法

HttpClient client = new HttpClient();
client.setConnectionTimeout(30000);  
client.setTimeout(30000);
HttpClient httpClient= new HttpClient();  
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
4.X版本的超時設置(4.3后已過時)
HttpClient httpClient=new DefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,2000);//連接時間
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,2000);//數據傳輸時間
4.3版本超時設置
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet=new HttpGet("http://www.baidu.com");//HTTP Get請求(POST雷同)
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//設置請求和傳輸超時時間
httpGet.setConfig(requestConfig);
httpClient.execute(httpGet);//執行請求
BTW,4.3版本不設置超時的話,一旦服務器沒有響應,等待時間N久(>24小時)。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!