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