Httpclient 4.1のデフォルトのhttpParamsに関するドキュメントが見つかりません。
GETを実行するときのデフォルトのソケットタイムアウトは何ですか?
documentation によると、http.socket.timeout
パラメータはSO_TIMEOUT値を制御します。
このパラメーターが設定されていない場合、読み取り操作はタイムアウトになりません(無限タイムアウト)。
受け入れられた回答は、HttpClientの新しいバージョンには適用されません。バージョン4.3.X以上では、通常60秒のシステムデフォルトが使用されます。
HttpClient javadocから取得。
public int getSocketTimeout()
Defines the socket timeout (SO_TIMEOUT) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets).
A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default).
Default: -1
Apache HttpClientバージョン4.x以降の場合
int timeout = 5*60; // seconds (5 minutes)
RequestConfig config = RequestConfig.custom()
.setConnectTimeout(timeout * 1000)
.setConnectionRequestTimeout(timeout * 1000)
.setSocketTimeout(timeout * 1000).build();
HttpClient httpClient =
HttpClientBuilder.create().setDefaultRequestConfig(config).build();
ゼロのタイムアウト値は、無限のタイムアウトとして解釈されます。負の値は未定義として解釈されます(システムデフォルト)。
デフォルト:-1