如何使用Apache httpclient 4.3和PoolingHttpClientConnectionManager并为每个请求传递ConnectTimeOut和ReadTimeOut。

例如,
如果我将CloseableHttpClient作为Singleton并使用PoolingHttpClientConnection来获取连接,则对于我提出的每个请求,我都希望根据目标主机发送不同的超时值

即。主机A 10秒,主机B 5秒等

请指教。

最佳答案

HttpGet get1 = new HttpGet("http://hosta/");
RequestConfig config1 = RequestConfig.custom().setSocketTimeout(10000).build();
get1.setConfig(config1);
HttpGet get2 = new HttpGet("http://hostb/");
RequestConfig config2 = RequestConfig.custom().setSocketTimeout(5000).build();
get2.setConfig(config2);

10-08 17:06