Curl 负卷曲超时

Curl 负卷曲超时,curl,connection-timeout,Curl,Connection Timeout,使用负卷曲超时时会发生什么 $curlpoptions[CURLOPT_TIMEOUT]=-2 它是转化为正2还是保持为-2 因为,有时卷曲有效,有时无效…为什么需要负超时?这没有任何意义。要么curl获取页面并退出,要么等到它完成加载,因为您使用的是正值,下面是一个关于如何使用curl with timeout的示例: $ch = curl_init('http://site/test/test_timeout.php'); curl_setopt($ch, CURLOPT_RETURNTRA

使用负卷曲超时时会发生什么

$curlpoptions[CURLOPT_TIMEOUT]=-2

它是转化为正2还是保持为-2


因为,有时卷曲有效,有时无效…

为什么需要负超时?这没有任何意义。要么curl获取页面并退出,要么等到它完成加载,因为您使用的是正值,下面是一个关于如何使用curl with timeout的示例:

$ch = curl_init('http://site/test/test_timeout.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 5); //timeout in seconds - You can use 0 for infinite timeout
/* You can also use
    curl_setopt($ch, CURLOPT_TIMEOUT_MS, 5000); //timeout in miliseconds (5 seconds)
*/
$data = curl_exec($ch);
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
curl_close($ch);
卷曲超时选项:

CURLOPT\u超时

尝试连接时等待的秒数。使用0无限期等待。
CURLOPT\u TIMEOUT\u MS


尝试连接时等待的毫秒数。使用0无限期等待。如果libcurl构建为使用标准系统名称解析程序,那么connect的该部分仍将使用完整的秒解析超时,允许的最小超时时间为1秒。在卷曲7.16.2中添加。从PHP5.2.3开始提供

这就是curl的工作原理:

首先,它连接到您提供的url

然后,它在您通过
CURLOPT_TIMEOUT
选项指定的秒数内执行整个curl操作

因此,如果将
CURLOPT_TIMEOUT
设置为-2,则在连接到主机后,它将永远不会执行。要验证这一点,请通过启用
CURLOPT\u VERBOSE
选项来运行脚本。您将始终收到以下消息

* Operation timed out after -2000 milliseconds with 0 bytes received

世卫组织案例情景为:CURLOPT_TIMEOUT=-2,连接超时=1;这有时是如何起作用的,有时却没有?