当前位置: 首页 > news >正文

HttpClient 不同版本的超时时间设置

HttpClient 4.3。HttpClient这货和Lucene一样,每个版本的API都变化很大,这有点让人头疼。就好比创建一个HttpClient对象吧,每一个版本的都不一样,

3.X是这样的

?

1

HttpClient httpClient=newDefaultHttpClient();

4.3是这样的

?

1

CloseableHttpClient httpClient = HttpClients.createDefault();

当然,上面这些变化只不过是一些小变化,大家看看API大家就都会了。

我要讲的是超时设置,HttpClient有三种超时设置,最近比较忙,没时间具体归纳总结,以后再补上,我这里就讲一些最简单最易用的超时设置方法。

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

?

1

2

3

HttpClient client = newHttpClient();

client.setConnectionTimeout(30000); 

client.setTimeout(30000);

?

1

2

HttpClient httpClient= newHttpClient(); 

httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);

4.X版本的超时设置(4.3后已过时)

?

1

2

3

HttpClient httpClient=newDefaultHttpClient();

httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,2000);//连接时间

httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,2000);//数据传输时间

4.3版本超时设置

?

1

2

3

4

5

CloseableHttpClient httpClient = HttpClients.createDefault();

HttpGet httpGet=newHttpGet("http://www.baidu.com");//HTTP Get请求(POST雷同)

RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(2000).build();//设置请求和传输超时时间

httpGet.setConfig(requestConfig);

httpClient.execute(httpGet);//执行请求

BTW,4.3版本不设置超时的话,一旦服务器没有响应,等待时间N久(>24小时)。

相关文章:

  • 使用两个栈实现队列,简单例子
  • 数据库ACID
  • 线程小记
  • JAVA JDK1.8 时间戳与时间格式化 实用工具类
  • 单例模式 之内部类延迟加载,(多)线程安全
  • Springboot 用session监听器统计在线用户数量
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • JAVA 责任链设计模式
  • JAVA回调函数简单讲解 CallBack
  • JAVA HttpClient 远程调用接口doGet、doPost工具类
  • JAVA 接口签名sign生成 工具类
  • mybatis-config配置文件各项简单介绍
  • Springboot整合Mybatis增删查改、连接MYSQL数据库及配置druid连接池
  • JAVA 模板设计模式
  • Springboot 最简单的结合MYSQL数据实现EXCEL表格导出及数据导入
  • canvas绘制圆角头像
  • CODING 缺陷管理功能正式开始公测
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • extract-text-webpack-plugin用法
  • gops —— Go 程序诊断分析工具
  • java8-模拟hadoop
  • SpringBoot 实战 (三) | 配置文件详解
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue--为什么data属性必须是一个函数
  • Zepto.js源码学习之二
  • 多线程 start 和 run 方法到底有什么区别?
  • 技术胖1-4季视频复习— (看视频笔记)
  • 检测对象或数组
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • ​如何防止网络攻击?
  • (175)FPGA门控时钟技术
  • (2015)JS ES6 必知的十个 特性
  • (4)事件处理——(7)简单事件(Simple events)
  • (floyd+补集) poj 3275
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (solr系列:一)使用tomcat部署solr服务
  • (二)JAVA使用POI操作excel
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (一)WLAN定义和基本架构转
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .net framework4与其client profile版本的区别
  • .Net Remoting常用部署结构
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 表达式计算:Expression Evaluator
  • .NET 发展历程
  • .Net 路由处理厉害了
  • .NET 中 GetProcess 相关方法的性能
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET多线程执行函数