2015年5月6日 星期三

HttpClient


出處:http://www.360doc.com/content/10/0805/11/61497_43814046.shtml

HttpClient 4 設置超時httpclient 超時有時httpclient的時候,需要等待N長時間,可能此時你決定放棄或者重試。實現上非常簡單添加一個參數即可httpClient.getParams().setIntParameter("http.socket.timeout",3000); 這裡的超時單位是毫秒。

這裡的http.socket.timeout相當於SO_TIMEOUT

HttpConnectionManagerParams managerParams = httpClient
.getHttpConnectionManager().getParams();
//設置連接超時時間(單位毫秒)
managerParams.setConnectionTimeout(30000);
//設置讀數據超時時間(單位毫秒)
managerParams.setSoTimeout(120000);


1,設置get方法請求超時為5 秒
Java代碼
GetMethod getMethod= new GetMethod(url);
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000 );
Java代碼
GetMethod getMethod= new GetMethod(url);
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000 );


2,設置Http 連接超時為5秒
Java代碼
HttpClient httpClient= new HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout( 5000 );
Java代碼
HttpClient httpClient= new HttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout( 5000 );


設置連接超時和請求超時,這兩個超時的意義不同,需要分別設置。