HttpClient超时设置详解

本文只讲下HttpClient4.5的设置,因为之前的各版本变化较大,不一一写。

使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这两个参数很重要,目的是为了防止访问其他http时,由于超时导致自己的应用受影响。4.5版本中,这两个参数的设置都抽象到了RequestConfig中,由相应的Builder构建,具体的例子如下:

简单适用版

进阶版

三个超时时间详解:

1.从连接池中获取可用连接超时(connectionRequestTimeout)
HttpClient要用连接时尝试从连接池(connect Manager)中获取,若是在等待了一定的时间后还没有获取到可用连接(比如连接池中没有空闲连接了)则会抛出获取连接超时异常。单位毫秒。

2.连接目标超时(connectionTimeout)
指的是连接目标url的连接超时时间,即客服端发送请求到与目标url建立起连接的最大时间。如果在该时间范围内还没有建立起连接,则就
抛出connectionTimeOut异常。单位毫秒。

3.等待响应超时(读取数据超时)socketTimeout
连接上一个url后,获取response的返回等待时间 ,即在与目标url建立连接后,等待放回response的最大时间,在规定时间内没有返回响应的话就抛出SocketTimeout。单位毫秒。

 

转载自https://blog.csdn.net/u011191463/article/details/78664896


发表评论

电子邮件地址不会被公开。 必填项已用*标注