HttpClient超时设置详解

HttpClient超时设置详解

HttpClient和Lucene一样,每个版本的API都变化很大,真让人脑袋疼。

设置超时时间

3.X的超时设置方法
1
2
3
4
5
6
HttpClient client = newHttpClient();
client.setConnectionTimeout(30000);
client.setTimeout(30000);
-----------------------------------------------------------------------
HttpClient httpClient= newHttpClient();
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
4.X版本的超时设置(4.3后已过时)
1
2
3
HttpClient httpClient=newDefaultHttpClient();
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,2000);//连接时间
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,2000);//数据传输时间
4.3版本超时设置
1
2
3
4
5
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet=newHttpGet("http://www.baidu.com");//HTTP Get请求(POST雷同)
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//设置请求和传输超时时间
httpGet.setConfig(requestConfig);
httpClient.execute(httpGet);//执行请求

TMD,4.3版本不设置超时的话,一旦服务器没有响应,等待时间N久(>24小时)。

-------------已经触及底线 感谢您的阅读-------------

本文标题:HttpClient超时设置详解

文章作者:趙小傑~~

发布时间:2019年07月08日 - 21:42:16

最后更新:2019年07月26日 - 23:32:12

原始链接:https://cnsyear.com/posts/60d39c8e.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%