HttpClient 4.5版本设置连接超时时间
2016-12-01 14:34
786 查看
HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。
使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。
4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下:
setConnectTimeout:设置连接超时时间,单位毫秒。
setConnectionRequestTimeout:设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。
setSocketTimeout:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。
使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。
4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下:
CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://stackoverflow.com/"); RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(5000).setConnectionRequestTimeout(1000) .setSocketTimeout(5000).build(); httpGet.setConfig(requestConfig); CloseableHttpResponse response = httpclient.execute(httpGet); System.out.println("得到的结果:" + response.getStatusLine());//得到请求结果 HttpEntity entity = response.getEntity();//得到请求回来的数据
setConnectTimeout:设置连接超时时间,单位毫秒。
setConnectionRequestTimeout:设置从connect Manager获取Connection 超时时间,单位毫秒。这个属性是新加的属性,因为目前版本是可以共享连接池的。
setSocketTimeout:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。
相关文章推荐
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5.2版本设置连接超时时间-CloseableHttpClient设置Timeout
- HttpClient 4.5.2版本设置连接超时时间-CloseableHttpClient设置Timeout
- HttpClient不同版本超时时间的设置
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- HttpClient设置连接超时时间
- Apache HttpClient调用服务没有设置超时时间引起的血崩
- httpClient 超时时间设置(转)
- httpclient4 请一定设置超时时间
- TCP编程:client设置超时收包时间,收包失败,关闭连接。
- HttpClient代理IP及设置连接读取超时
- Apache HttpClient设置请求超时时间和返回超时时间,以及超时重试
- cxf和HttpClient调用WebService,并设置超时时间
- 设置DefaultHttpClient和HttpClient的超时时间的方法
- httpclient-4.X设置连接超时
- HttpClient4.5设置连接超时时间
- httpclient发送http请求设置网络超时时间