文档章节

解决httpclient超时设置不生效的问题

Mr_Tea伯奕
 Mr_Tea伯奕
发布于 06/24 11:38
字数 256
阅读 42
收藏 2
点赞 0
评论 0

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。

初始设置如下:

 

[java] view plain copy

  1. //超时设置  
  2. RequestConfig requestConfig = RequestConfig.custom()  
  3.         .setConnectTimeout(400).setSocketTimeout(400).build();  
  4.   
  5. request.setEntity(s);  
  6. request.setConfig(requestConfig);  
  7.   
  8. HttpClient client = new HttpClient();  
  9. HttpResponse httpResponse = client.execute(request);  

 

发现设置并未生效,后发现是由于没有设置重试选项,将代码修改如下:

 

[java] view plain copy

  1.    private HttpRequestRetryHandler myRetryHandler = new HttpRequestRetryHandler() {  
  2.     @Override  
  3.     public boolean retryRequest(IOException exception,  
  4.             int executionCount, HttpContext context) {  
  5.         return false;  
  6.     }};  
  7.   
  8. //超时设置  
  9. RequestConfig requestConfig = RequestConfig.custom()  
  10.         .setConnectTimeout(connectTImeoutInMills).setSocketTimeout(socketTImeoutInMills).build();  
  11.   
  12. request.setEntity(s);  
  13. request.setConfig(requestConfig);  
  14.   
  15. HttpClient client = HttpClients.custom().setRetryHandler(myRetryHandler).build();  
  16. HttpResponse httpResponse = client.execute(request);  

 

超时设置即生效。

 

 

备注:

httpclient版本为4.5。

本文转载自:https://blog.csdn.net/kakaweb/article/details/51974139

共有 人打赏支持
Mr_Tea伯奕
粉丝 3
博文 195
码字总数 49555
作品 0
朝阳
其他
Android 浅谈HttpClient工具类

在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过它的...

Jonson
2013/07/25
0
3
使用单例模式实现自己的HttpClient工具类

引子 在Android开发中我们经常会用到网络连接功能与服务器进行数据的交互,为此Android的SDK提供了Apache的HttpClient来方便我们使用各种Http服务。你可以把HttpClient想象成一个浏览器,通过...

moz1q1
2015/04/01
0
0
HttpClient 4.3超时设置

最近用到了HttpClient写爬虫,可能我有新版本强迫症,老是喜欢用新版本的东西(虽说新版本不一定好用),然后就用了HttpClient 4.3。HttpClient这货和Lucene一样,每个版本的API都变化很大,这有...

Docee
2013/11/03
0
8
GZIPInputstream解决乱码问题

public static String getHtmlContent(String htmlurl, String charset) { StringBuffer sb = new StringBuffer(); String acceptEncoding = ""; / 1.生成 HttpClinet 对象并设置参数 / Http......

smilezhuolin
07/03
0
0
Android:HttpClient研究

HttpClient4 用法 由HttpClient3 升级到 HttpClient_4 必看 摘要:HttpClient程序包是一个实现了 HTTP 协议的客户端编程工具包,要想熟练的掌握它,必须熟悉HTTP协议。一个最简单的调用如下:...

boonya
2015/03/27
0
2
研究支付时碰到了 httpclient 围观

HttpClient最重要的功能是执行HTTP方法。一个HTTP方法的执行包含一个或多个HTTP请求/HTTP响应交换,通常由HttpClient的内部来处理。而期望用户提供一个要执行的请求对象,而HttpClient期望传...

JAVA码猿
2017/11/07
0
0
HttpClient 4.5版本设置连接超时时间

HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。 使用HttpClient,一般都需要设置连接超时时间和获取数据超时...

WalleChen
2015/11/05
0
8
Apache HttpClient 4.3开发指南

一、概述 Apache HttpClient 4系列已经发布很久了,但由于它与HttpClient 3.x版本完全不兼容,以至于业内采用此库的公司较少,在互联网上也少有相关的文档资料分享。 本文旨在写一个简要的A...

Zero__One
2014/02/16
0
0
Servlet HttpClient 转发 SocketClose Exception

系统部署要求,APP要部在内网,外网必须通过一次Web代理转发进来.就用Servlet + HttpClient 代理; 在内网测试的时挺正常的;上生产经常发现下载8M以上的文件就会出现Socket Colse Exception; 跟...

vidy_tu
2014/12/07
0
2
【J2EE系列】HttpClient 学习整理 [转]

HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放...

磊神Ray
2012/01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ConcurrentLinkedQueue源码分析

前言 ConcurrentLinkedQueue是一个线程安全的队列,它采用的是 CAS 算法来进行实现,也就是说它是非阻塞的;队列中的元素按照 FIFO(先进先出)的原则对元素进行排列,此外,它是一个无界队列;...

tsmyk0715
7分钟前
0
0
String,StringBuffer ,StringBuilder的区别

不同点 一、基类不同 StringBuffer、StringBuilder 都继承自AbStractStringBuilder,String 直接继承自 Object 2、底层容器“不同” 虽然底层都是字符数组,但是String的是final修饰的不可变...

不开心的时候不要学习
18分钟前
0
0
nodejs 文件操作

写文件code // 加载文件模块var fs = require("fs");var content = 'Hello World, 你好世界!';//params 文件名,内容,编码,回调fs.writeFile('./hello.txt',content,'utf8',function (er......

yanhl
20分钟前
0
0
SpringBoot mybits 查询为0条数据 但是在Navicat 中可以查询到数据

1.页面请求: 数据库查询: 2018-07-16 17:56:25.054 DEBUG 17312 --- [nio-9010-exec-3] c.s.h.m.C.selectSelective : ==> Preparing: select id, card_number, customer_id, customer_nam......

kuchawyz
30分钟前
0
0
译:Self-Modifying cod 和cacheflush

date: 2014-11-26 09:53 翻译自: http://community.arm.com/groups/processors/blog/2010/02/17/caches-and-self-modifying-code Cache处在CPU核心与内存存储器之间,它给我们的感觉是,它具......

我叫半桶水
33分钟前
0
0
Artificial Intelligence Yourself

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流...

孟飞阳
45分钟前
0
0
press.one个人数字签名

这是我在press.one的数字签名 https://press.one/p/address/v?s=9d3d5b7ce019af357ab994775549e8f047a5b17fc9893364652fc67e4b95443b38ccb24c6655e0d252dd0154369eb9b7717c4ccf4e1835ca3596......

NateHuang
48分钟前
1
0
Oracle 中的 SQL 分页查询原理和方法详解

本文分析并介绍 Oracle 中的分页查找的方法。 Oracle 中的表,除了我们建表时设计的各个字段,其实还有两个字段(此处只介绍2个),分别是 ROWID(行标示符)和 ROWNUM(行号),即使我们使用...

举个_栗子
54分钟前
2
2
C++ iostream、iomanip 头文件详解

大家好,我是ChungZH!这是我的第二篇博客。在这篇博客中,我将介绍一些有关C++的iostream和iomanip库的知识,希望大家喜欢! 首先,我们来看看iostream。 相信大家都知道iostream,这个库可以...

ChungZH
今天
1
0
atom的摸索

atom中使用git 软件有提示,不赘述(软件的特色) 提供的只是些基础功能,我们需要伟大的开源伙伴来解决易用性问题 ,安装git plus插件,你就可以不用cli也可以在atom中畅快的使用git了 因为这玩意...

狮子狗
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部