转 HttpClient 设置连接超时时间
2024-08-25 01:49:44
要: 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:请求获取数据的超时时间,单位毫秒。 如果访问一个接口,多少时间内无法返回数据,就直接放弃此次调用。
最新文章
- .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
- Oracle中有个tkprof来格式化oracle的trace文件
- 让keepalived监控NginX的状态
- PHP漏洞全解(四)-xss跨站脚本攻击
- Quora图片懒加载
- bitree
- shell基础(转)
- 手动新建MVC控制器和视图,以及数据显示的问题
- 可靠通信的保障 —— 使用ACK机制发送自定义信息——ESFramework 通信框架4.0 快速上手(12)
- Flask实战第5天:页面跳转和重定向
- css中有三个显示和隐藏的单词比较常见,display visibility 和 overflow我们需要区分开来
- Web应用:当文件超过100KB,无法上传,有种原因你想象不到
- Mac电脑使用:您的安全性偏好设置仅允许安装来自App Store和被认可的开发者的应用(解决方法)
- [置顶] Django 微信开发(一)——环境搭建
- python环境搭建-Pycharm模块安装方法
- 在对listctrl的控件进行重载的过程中,GetHeaderCtrl()返回NULL的问题
- 在国内运行Flutter配置的正确姿势--如出现Oops; flutter has exited unexpectedly.
- Web前端开发最佳实践(4):在页面中添加必要的meta信息
- Cassandra修改集群名称
- spring框架里面的注入?
热门文章
- [十九]JavaIO之PipedReader 和 PipedWriter
- .NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码
- Python3+Selenium2完整的自动化测试实现之旅(五):自动化测试框架、Python面向对象以及POM设计模型简介
- [java]final关键字的几种用法
- GITHup的使用
- Mac下如何用SSH连接远程Linux服务器
- Java开发笔记(二十六)方法的输出参数
- java的ArrayList源码摘要
- nginx系列3:搭建一个静态资源web服务器
- 从Linux上传到Git过程