1、为什么要设置HTTP timeout?
1、与用户操作相关的接口,如果不设置超时时间,将会出现长时间的无响应,严重影响用户体验。
2、负载很高的系统,因为大量调用耗时长的接口,导致性能急剧下降,从而影响其他正常的业务。
3、某些情况下,HTTP请求可能永远都得不到响应,那么这部分系统资源就一直被占用,直到系统奔溃。

2、示例

public static void main(String[] args) throws Exception{//创建httpclientCloseableHttpClient httpClient = HttpClients.createDefault();//创建http getHttpGet httpGet = new HttpGet("http://www.taotao.com/");//构建超时等配置信息RequestConfig config = RequestConfig.custom().setConnectTimeout(1000) //连接超时时间.setConnectionRequestTimeout(1000) //从连接池中取的连接的最长时间.setSocketTimeout(10 *1000) //数据传输的超时时间.setStaleConnectionCheckEnabled(true) //提交请求前测试连接是否可用.build();//设置请求配置时间httpGet.setConfig(config);//接受返回的数据CloseableHttpResponse response = null;try {response = httpClient.execute(httpGet);}finally{if(response!=null){response.close();}httpClient.close();}

3、Httpclient不同版本设置超时时间的方法是不一样的,要特别注意:

这是个3.X的超时设置方法

HttpClient client = new HttpClient();client.setConnectionTimeout(30000);client.setTimeout(30000);

4.3版本超时设置

CloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet=new HttpGet("http://www.baidu.com");//HTTP Get请求RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//设置请求和传输超时时间httpGet.setConfig(requestConfig);httpClient.execute(httpGet);//执行请求

httpclient: 设置请求的超时时间,连接超时时间等相关推荐

  1. 连接mysql超时时间设置多少_怎么设置数据库的连接数和连接超时时间

    如何设置数据库的连接数和连接超时时间 连接数的话可以修改spfile文件来约束 查看当前的连接数: select count(*) from v$process; –数据库允许的最大连接数: sele ...

  2. HttpClient设置请求超时

    前言 最近,我无疑间看到同事提交到git上的httpclient调用第三方服务设置超时代码,发现有趣的一件事.项目中引用的httpclient版本是4.4.5版本,结果同事为了设置超时,在项目的pom ...

  3. php 邮件 超时,PHPMailer连接超时

    我正尝试使用PHPMailer从我的网站发送电子邮件.PHPMailer连接超时 在我的PC上本地尝试它,一切都很顺利. SERVER -> CLIENT: 220 mail.xxx.it Mi ...

  4. Socket的读取超时与连接超时

    1.设置客户端读取服务器数据超时时间 setSoTimeout(int timeout);  设置客户端读取服务器数据超时时间 即read()方法开始阻塞时开始计时.read()方法读取不到数据时开始 ...

  5. redis排查读取超时、连接超时

    最近公司现网查询速度极慢,原因是因为有一个调度频繁查询产品详情,经理安排进行优化 笔者第一时间想到的是使用缓存,但因为生产环境产品信息量将近上千条热点数据,为防止撑爆服务器内存,考虑到了使用redis ...

  6. 显示icloud服务器超时,iCloud连接超时验证失败怎么办

    icloud储存空间已满怎么解决 很多小伙伴在使用苹果设备的过程中收到icloud储存空间已满的提示,这个时候应该如何解决呢?相关的解决方法介绍小编已经为大家准备好了.下面,就跟随玩游戏网的小编一起继 ...

  7. 天翼飞服务器响应超时,网络连接超时怎么办,手机信号增强器显身手

    网络,目前已经成为人们生活中不可或缺的一部分,从PC端互联网到手机端互联网,可谓是一个大的飞跃,"手机控"已然给现代新新人类贴上了一个深深的标签. 随着智能手机的普及,无线网络却没 ...

  8. linux http连接超时时间设置,Linux 下 HTTP连接超时

    将项目部署到现场环境,HTTP请求莫名奇妙的连接超时,通过抓包定位了问题,是请求的IP被禁止掉.其中用到了抓包,将记录记录于此. tcpdump host 120.197.89.51 -i any - ...

  9. 连接超时_记一次网络请求连接超时的事故

    点击上方蓝色字关注我们~前言 从HTTP请求超时.重试机制.操作系统网络等层面剖析了事故的原因,最终解决业务问题. 这里先抛两个问题: 1)你遭遇过由于网络连接或请求超时造成的生产事故吗? 2)你知道 ...

最新文章

  1. REST 架构是什么
  2. C2065 “__m128d”: 未声明的标识符
  3. python的速度问题_python编程如何提升速度篇
  4. 8.3. 测试 opensips
  5. 使用pdb调试python
  6. 数据库范式解析(1NF 2NF 3NF BCNF)
  7. Visual C++ 的代码折叠
  8. 计算机网络cdma的缺点,CDMA和GSM比较的优缺点是什么?
  9. 转载Silverlight AutoCompleteBox 增强key/value 拼音头检索
  10. java 下面的while语句退出时_java 下面的while语句退出时
  11. webstorm使用插件 statistic 统计代码
  12. Android 控件 -------- AutoCompleteTextView 动态匹配内容,例如 百度搜索提示下拉列表功能...
  13. Unity实现人物旋转+移动
  14. Python:PDF文件处理(数据处理)
  15. Api接口的模块化管理
  16. 光学雨量计应用降雨量检测
  17. linux重启 envi服务,envi 4.3在ubuntu edgy下启动错误的解决
  18. 怎么在linux系统中输入日历,在Linux终端中使用日历
  19. python怎么求商_如何用python求差商?
  20. QQ在线图标 离线 QQ开通在线QQ服务 QQ陌生人直接聊天

热门文章

  1. Linux常见系统错误
  2. 如何管理保护布线系统,从四个方面来说明
  3. (Java实现) 洛谷 P1387 最大正方形
  4. 关闭Windows Defender实时保护解决下载激活软件报检测到病毒无法下载的问题
  5. 内网穿透远程控制Windows主机
  6. 极光IM + 极光推送,集成中遇到的问题
  7. Win11粘滞键怎么取消?
  8. H5获取用户所在城市 网页获取用户城市名称
  9. 云管边端架构图_边缘云平台架构与应用案例分析
  10. Hopf-Cole 变换与高阶差分格式(Burgers方程)