【发布时间】:2017-01-05 01:01:21
【问题描述】:
有没有办法让 curl 在连接空闲一段时间后关闭它们?
【问题讨论】:
-
您是否尝试查找 CURLOPT_TIMEOUT?
-
是的,它所做的只是限制请求的时间量。假设我将限制设置为 10 秒,请求需要 3 秒。在剩余的 7 秒及以后,该连接将处于空闲状态。我希望它在 60 多岁之后被“收集”。
-
那么,理解对了,你想在最后一次传输有效数据后开始超时吗?在这种情况下,您必须按照 CURLOPT_TIMEOUT 中所述自行处理:
[...] it has limited use in dynamic use cases with varying transfer times. You are then advised [...] using CURLOPT_PROGRESSFUNCTION to implement your own timeout logic. -
从 libcurl 7.65.0(2019-05-22 发布)开始,您可以使用 CURLOPT_MAXAGE_CONN(默认值为 118 秒):curl.haxx.se/libcurl/c/CURLOPT_MAXAGE_CONN.html 如果在超过此设置的 maxage 的缓存,它将被关闭。
标签: libcurl