【问题标题】:cURL setopt CONNECTTIMEOUT vs TIMEOUTcURL setopt CONNECTTIMEOUT 与 TIMEOUT
【发布时间】:2019-04-25 15:05:56
【问题描述】:

在 SO 和其他地方查找后,我注意到关于 cURL 选项 CONNECTTIMEOUT 与 TIMEOUT 的信息有很多相互矛盾的信息。

CONNECTTIMEOUT 绝对是连接阶段的超时时间,

TIMEOUT 表示为整个 cURL 过程的超时(包括 CONNECTTIMEOUT)或连接阶段完成后的超时,具体取决于您询问的对象。

此外,官方的 libcurl 文档将 CONNECTTIMEOUT 解释为

设置请求允许的最长时间

这是一种非常模棱两可的语言,因为它可能指的是例如 HTTP 请求或将整个过程称为请求

【问题讨论】:

    标签: c++ curl libcurl


    【解决方案1】:

    CONNECTTIMEOUT 是 curl 在连接期间等待的时间。在那之后 curl 放弃了连接的努力。另一方面,TIMEOUT 是接收 curl 将等待的给定请求的响应的总持续时间,包括连接所需的时间和服务器回复所需的时间。这是两者的官方链接:

    https://curl.haxx.se/libcurl/c/CURLOPT_CONNECTTIMEOUT.html

    https://curl.haxx.se/libcurl/c/CURLOPT_TIMEOUT.html

    【讨论】:

    • 对此我真的不确定。在各种情况下,尝试连接 -> 已连接 -> 进行传输 -> 超时的时间都高于 TIMEOUT。不过,不确定是否是 TIMEOUT + CONNECTTIMEOUT。似乎更多地在工作
    猜你喜欢
    • 2011-07-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2011-12-05
    相关资源
    最近更新 更多