要: HttpClient 4.5版本升级后,设置超时时间的API又有新的变化,请大家关注。

HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。

使用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:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。

最新文章

  1. .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
  2. Oracle中有个tkprof来格式化oracle的trace文件
  3. 让keepalived监控NginX的状态
  4. PHP漏洞全解(四)-xss跨站脚本攻击
  5. Quora图片懒加载
  6. bitree
  7. shell基础(转)
  8. 手动新建MVC控制器和视图,以及数据显示的问题
  9. 可靠通信的保障 —— 使用ACK机制发送自定义信息——ESFramework 通信框架4.0 快速上手(12)
  10. Flask实战第5天:页面跳转和重定向
  11. css中有三个显示和隐藏的单词比较常见,display visibility 和 overflow我们需要区分开来
  12. Web应用:当文件超过100KB,无法上传,有种原因你想象不到
  13. Mac电脑使用:您的安全性偏好设置仅允许安装来自App Store和被认可的开发者的应用(解决方法)
  14. [置顶] Django 微信开发(一)——环境搭建
  15. python环境搭建-Pycharm模块安装方法
  16. 在对listctrl的控件进行重载的过程中,GetHeaderCtrl()返回NULL的问题
  17. 在国内运行Flutter配置的正确姿势--如出现Oops; flutter has exited unexpectedly.
  18. Web前端开发最佳实践(4):在页面中添加必要的meta信息
  19. Cassandra修改集群名称
  20. spring框架里面的注入?

热门文章

  1. [十九]JavaIO之PipedReader 和 PipedWriter
  2. .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
  3. Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介
  4. [java]final关键字的几种用法
  5. GITHup的使用
  6. Mac下如何用SSH连接远程Linux服务器
  7. Java开发笔记(二十六)方法的输出参数
  8. java的ArrayList源码摘要
  9. nginx系列3:搭建一个静态资源web服务器
  10. 从Linux上传到Git过程