首页 > 其他分享 >HttpClient 不同版本的超时时间设置

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

时间:2022-12-26 15:07:39浏览次数:57  
标签:设置 4.3 HttpClient 版本 new 超时 httpClient


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

3.X是这样的

​​

​HttpClient httpClient=​​​​new​​​​DefaultHttpClient();​

4.3是这样的

​​

​CloseableHttpClient httpClient = HttpClients.createDefault();​

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

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

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

​​

​HttpClient client = ​​​​new​​​​HttpClient();​

​client.setConnectionTimeout(​​​​30000​​​​); ​

​client.setTimeout(​​​​30000​​​​);​

​​

​HttpClient httpClient= ​​​​new​​​​HttpClient(); ​

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

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

​​

​HttpClient httpClient=​​​​new​​​​DefaultHttpClient();​

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

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

4.3版本超时设置

​CloseableHttpClient httpClient = HttpClients.createDefault();​

​HttpGet httpGet=​​​​new​​​​HttpGet(​​​​"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小时)。

标签:设置,4.3,HttpClient,版本,new,超时,httpClient
From: https://blog.51cto.com/u_15753094/5968938

相关文章

  • python 多版本查看与命令用法
    1.windows查看电脑上是否有多个版本 如果python2能查到,那么用命令时1、pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下:2、如果系统中只安装了Python......
  • kali新版本2022.4发布
    KaliLinux2022.4发布(Azure、Social&KaliNetHunterPro)。在这一年结束之前,我们认为最好是把2022年的最后一个版本发布出来。今天我们发布了KaliLinux2022.4。这可......
  • c++实现一个比较两个string类型的版本号的小demo
    在软件实现更新模块的时候,有可能会判断一下服务器上的版本的版本号和本地版本的版本号。下面有类似这样形式的版本号:stringstr="0.0.0.1";分析一下可以看出,该版本号可......
  • curl常用设置-涉及超时相关
    curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);//在屏幕打印请求连接过程和返回http数据curl_easy_setopt(curl,CURLOPT_TIMEOUT,10);//接收数据时超时设置,如果10......
  • vs2010下设置release版本调试设置
    设置在Release模式下调试的方法:1.工程项目上右键->属性2.c++->常规-〉调试信息格式   选 程序数据库(/Zi)或(/ZI),注意:如果是库的话,只能(Zi)3.c++->优化......
  • 开发环境需要同时安装2个nodejs版本
    由于同时有vue2和vue3的项目开发情况,vue2项目的nodejs版本是12,vue3项目在node12版本下运行不了,要求最低14版本,因此要用nvm同时安装和控制2个版本。安装步骤:1、卸载已经安......
  • 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
    vs2010的mfc项目中编译c语言出现错误:"...预编译头文件来自编译器的早期版本,或者预编译头为C++而在C中使用它(或相反)" 解决方法:建工程时建立空项目 或者在项目......
  • vs中ffmpeg release版本崩溃问题
    vs2010win7下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d处未处理的异常:0xC0000005:读取位置0x00905a4d时发生访问冲突",原以......
  • 如何确认sap的版本信息
    sap的版本信息包含:1.SAPNetWeaver版本2.SAPKernel版本3.SAPECC版本4.SAPS4CORE版本我们就这四个版本来说明版本查看的方法1.SAPNetWeaver版本可以通过登录sap......
  • iOS通过iTunes search检测版本更新,并提示用户更新!
    如果我们要检测app版本的更新,那么我们必须获取当前运行app版本的版本信息和appstore上发布的最新版本的信息。当前运行版本信息可以通过info.plist文件中的bundleversion......