gpt4 book ai didi

java - 在 HttpClient (4.5) 中编辑超时

转载 作者:行者123 更新时间:2023-12-04 20:50:56 24 4
gpt4 key购买 nike

我需要能够修改 CloseAbleHttpClient 中设置的超时。这是我设置不同超时的方法:

RequestConfig config = RequestConfig.copy(RequestConfig.DEFAULT)
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.setConnectionRequestTimeout(managerTimeout)
.build();

httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(config)
.build();

我是否必须创建一个新的 RequestConfig 对象,并再次构建 HttpClients.custom() 来实现这一点?我试过这个,问题是我需要我的 CloseableHttpClient 是最终的。如果我设置超时 2 次,这是不可能的。我将不胜感激任何有关如何最好地修改超时属性的意见!

最佳答案

没有什么可以阻止您在每个请求的基础上使用不同的请求配置

RequestConfig defaultRequestConfig = RequestConfig.custom()
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.setConnectionRequestTimeout(managerTimeout)
.build();

CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(defaultRequestConfig)
.build();

RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)
.setConnectTimeout(timeout * 2)
.setSocketTimeout(timeout * 2)
.setConnectionRequestTimeout(managerTimeout * 2)
.build();

HttpGet get = new HttpGet();
get.setConfig(requestConfig);

关于java - 在 HttpClient (4.5) 中编辑超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com