http client 使用记录
HttpClient
使用版本: 4.5.5
对象创建
1 | RequestConfig requestConfig = RequestConfig.custom() |
超时设置
获取可用连接超时
HttpClient 中的要用连接时尝试从连接池中获取,若是在等待了一定的时间后还没有获取到可用连接(比如连接池中没有空闲连接了)则会抛出获取连接超时异常。
建立连接超时
指的是建立与目标 url 连接的超时时间,即客服端发送请求到与目标 url 建立起连接的最大时间。如果在该时间内还没有建立起连接,则就抛出 ConnectTimeoutException。
等待响应超时
连接上一个 url 后,获取响应的等待时间 ,即在与目标 url 建立连接后,等待响应返回的最大时间,在规定时间内没有返回响应的话就抛出 SocketTimeoutException。
连接池设置
setMaxConnTotal 设置连接池最大连接数,默认值为 20 。
setMaxConnPerRoute 设置每个路由最大连接数,即对于同一个路由最多只有 MaxConnPerRoute 个连接同时执行(www.google.com 即为一个路由)。默认值为 2 。