gpt4 book ai didi

java - 在 RequestConfig 和 SocketConfig 中设置套接字超时对于 HTTP 和 HTTPS 的工作方式不同

转载 作者:行者123 更新时间:2023-11-29 05:12:39 25 4
gpt4 key购买 nike

我在 SocketConfig 中设置了套接字超时,并将 SocketConfig 设置为连接管理器

connManager.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(soTimeout).build())

并通过在 RequestConfig 中将其设置为单个请求覆盖套接字超时值

httpRequest.setConfig(RequestConfig.copy(defaultRequestConfig).setSocketTimeout(timeout).build())  

引用 link .

对于所有 http 请求,使用 RequestConfig 设置的新值会按预期覆盖旧值。但对于 https 请求,它始终考虑在 SocketConfig 中设置的旧值。

在了解到这可能是 4.3.1 引用中的问题后,我还将 httpclient 从 4.3.1 升级到 4.3.6 link .但即使这样也没有帮助我解决问题。
我错过了什么吗?关于如何解决这个问题的任何想法?

最佳答案

这只是部分正确。 RequestConfig 表示请求 级别设置,而SocketConfig 表示连接 级别设置。安全连接需要进行 SSL/TLS 握手并建立安全 session ,然后才能用于执行请求。因此,RequestConfig 设置只有在 HTTPS 连接完全建立后才能关联。到那时只有 SocketConfig 适用。

关于java - 在 RequestConfig 和 SocketConfig 中设置套接字超时对于 HTTP 和 HTTPS 的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27833836/

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