CloseableHttpClient设置timeout
CloseableHttpClient可以通过设置连接超时时间和请求超时时间来控制请求的超时时间。连接超时时间是指连接到服务器的时间,而请求超时时间是指等待服务器响应的时间。
连接超时时间可以通过设置ConnectionRequestTimeout和ConnectTimeout属性来控制。例如,以下代码设置连接超时时间为5秒:
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultRequestConfig(RequestConfig.custom()
.setConnectionRequestTimeout(5000)
.setConnectTimeout(5000)
.build())
.build();
请求超时时间可以通过设置SocketTimeout属性来控制。例如,以下代码设置请求超时时间为10秒:
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultRequestConfig(RequestConfig.custom()
.setSocketTimeout(10000)
.build())
.build();
需要注意的是,以上代码设置的超时时间是全局的,即对所有请求生效。如果需要对单个请求设置不同的超时时间,可以在创建HttpUriRequest对象时设置RequestConfig属性。例如,以下代码设置单个请求的超时时间:
HttpGet httpGet = new HttpGet(url);
RequestConfig config = RequestConfig.custom()
.setConnectionRequestTimeout(5000)
.setConnectTimeout(5000)
.setSocketTimeout(10000)
.build();
httpGet.setConfig(config);
``
原文地址: http://www.cveoy.top/t/topic/fn0M 著作权归作者所有。请勿转载和采集!