在大约10分钟不活动后,卷曲容易处理无法解析主机?

时间:2017-12-21 09:18:24

标签: c++ curl https libcurl

我已使用curlHandle初始化curl_easy_init()并设置了一些选项,例如。 url,请求类型,超时,ssl验证等。

我读到重新使用相同的curlHandle可以提高性能,并且几乎没有示例代码写入,它恰好是真的。

所以我在我的类的构造函数中初始化了一次句柄,然后每次只更改标题或请求时重新生成相同的句柄,但是如果我不使用curlHandle 10分钟然后我尝试重用然后它抛出一个无法解析主机的异常。

是否有时间限制可以使用curlHandle? 因为我在任何SO问题或卷曲文档中都没有看到任何这样的提及。 或者在某些超时之后你需要再次curl_easy_init()吗?

[编辑]

我正在使用wolfSSL与cURL进行SSL通信。

默认情况下,在wolfSSL中禁用会话ID缓存并在curl中启用 因为CURLOPT_SSL_SESSIONID_CACHE默认为1。

会话ID在不活动500秒(约8分钟)后超时,而cURL尝试重用相同的会话ID。 这导致wolfSSL的SSL_set_session失败,这导致卷曲在8-10分钟不活动后失败。

使用卷曲版本7.49.1

1 个答案:

答案 0 :(得分:0)

不,卷曲手柄没有时间限制,不,它不应该在空闲十分钟或更长时间后引起任何特定错误。如果您可以使用最新版本的libcurl重现此问题,则可能是一个错误......