HttpClient 如何设置超时时间
今天分享一个巨坑,就是 HttpClient。这玩意有多坑呢?就是每个版本都变,近日笔者深受其害。
先看一下代码,我要发送请求调用一个c++接口。
public static String doPostWithJSON(String url, String json) throws Exception {CloseableHttpClient client = HttpClients.createDefault();HttpPost httpPost = new HttpPost(url);httpPost.setHeader("Content-Type","application/json;charset=UTF-8");StringEntity se = new StringEntity(json, Charset.forName("UTF-8"));se.setContentType("application/json");httpPost.setEntity(se);CloseableHttpResponse response = client.execute(httpPost);HttpEntity entity = response.getEntity();String result = EntityUtils.toString(entity, "UTF-8");return result;
}
嗯,坑爹的地方来了,这个玩意发送请求,没设置超时时间,只要不响应,他能一直在这等着,这谁能受得了。
我要加个超时时间。
第二个大坑来了。
我记得以前设置超时时间是这样的。
client.setConnectionTimeout(10000);
client.setTimeout(10000);
我发现,特么没这个方法。
于是查阅资料。发现HttpClient太善变了。每个版本都变api。
4.3版本是这样的
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,10000);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,10000);
4.3以后是这样的。
RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(10000).setConnectTimeout(10000).build();
httpGet.setConfig(requestConfig);
最后我根据我的版本,选了4.3的那种方式,解决问题。
HttpClient 如何设置超时时间相关推荐
- httpclient 设置超时时间_面试官:技术选型,HttpClient还是OkHttp?
你知道的越多,不知道的就越多,业余的像一棵小草! 你来,我们一起精进!你不来,我和你的竞争对手一起精进! 编辑:业余草 来源:juejin.im/post/6844904040644476941 推荐 ...
- Java中HttpClient设置超时时间
CloseableHttpClient httpclient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("ht ...
- apache httpclient4 设置超时时间
2019独角兽企业重金招聘Python工程师标准>>> apache httpclient4 设置超时时间 旧的方法(已被禁用) CloseableHttpClient httpcl ...
- java设置post超时时间_HttpClient 如何设置超时时间
搜索热词 今天分享一个巨坑,就是 HttpClient.这玩意有多坑呢?就是每个版本都变,近日笔者深受其害. 先看一下代码,我要发送请求调用一个c++接口. public static String ...
- RestTemplate 设置超时时间
项目访问量大,频繁调取其他系统接口经常出现项目后台假死现象,发现其他系统掉线重启一段时间必现.查看调用接口,同事直接引用了RestTemplate但是没有设置超时时间->_<-. 两种方式 ...
- 【Java 网络编程】服务器端 ServerSocket 配置 ( 端口复用 | 缓冲区设置 | 超时时间 | 性能权重 | 端口绑定 )
文章目录 I ServerSocket 端口号绑定参数 II ServerSocket 复用绑定端口设置 III ServerSocket 设置缓冲区大小 IV ServerSocket 设置超时时间 ...
- python给函数设置超时时间_在 Linux/Mac 下为Python函数添加超时时间的方法
我们在使用 requests 这类网络请求第三方库时,可以看到它有一个参数叫做 timeout ,就是指在网络请求发出开始计算,如果超过 timeout 还没有收到返回,就抛出超时异常.(当然存在特殊 ...
- php如何发起远程请求,PHP请求远程地址如何设置超时时间
PHP请求远程地址设置超时时间的方法:1.[file_get_contents]请求超时设置:2.fopen请求超时设置:3.curl请求超时设置. [相关学习推荐:php编程(视频)] PHP请求远 ...
- 同时设置超时时间_刚入职的小菜鸡,设错了RPC超时,搞了个线上事故
上面这张监控图,对于服务端的研发同学来说再熟悉不过了.在日常的系统维护中,『服务超时』应该属于监控报警最多的一类问题. 尤其在微服务架构下,一次请求可能要经过一条很长的链路,跨多个服务调用后才能返回结 ...
最新文章
- 《数据结构与抽象:Java语言描述(原书第4版)》一2.2.1 可变大小数组
- 让容器跑得更快:CPU Burst 技术实践
- 压力测试和负载测试区别_如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试...
- Generator简单了解
- 【HAVENT原创】Node Express API 通用配置
- 数据3分钟丨Databricks与Snowflake开撕;阿里云多款自研数据库支撑首个“100%云上双11”...
- 通过css裁切图片为菱形图片
- Angular4的QuickStart—— ES6 而非TypeScript
- 零件缝隙平行线距离检测4
- 自动接听电话的另一种思路(只需要root权限)
- android Tbs腾讯X5内核初始化失败
- 51单片机电路原理图_51单片机入门(第1篇):纯干货,单片机最小系统
- 【原创】php ssh2 远程秘钥登录华三防火墙F5030
- LNMP搭建HDwiki
- 论邮政有多硬核!邮车意外滑落悬崖,快递员的行为让人动容!
- 2022中科院自动化所人工智能暑期学校(部分内容)
- 我的 “地形” 我做主
- 前后端分离研究,以及接口规范
- 常见文件类型的图标介绍
- 网页图片循环滚动播放效果
热门文章
- Java前沿分享:value或许成为java的新关键字
- 皮一皮:王大爷尽说些大实话...
- 每日一皮:每天到公司 VS 工作一小时后
- Jenkins:配置信息变更历史
- 程序员你为什么这么累【续】:如何应对需求变更
- CSS样式----文字样式
- nvidia驱动程序与windows版本不兼容
- allow_unreachable flag
- mxnet.gluon 加载预训练
- ninja Compiling the C compiler identification source file CMakeCCompilerId.c failed