使用负卷曲超时会发生什么?
$ curlOptions [CURLOPT_TIMEOUT] = -2;
它会变成正2还是-2?
因为有时卷曲有效,有时候不会......
答案 0 :(得分:0)
为什么需要否定超时?它没有任何意义。 curl获取页面并退出或等到它完成加载,因为你使用了一个POSITIVE值,下面是一个关于如何在超时时使用curl的例子:
$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_TIMEOUT
尝试连接时等待的秒数。使用0无限期等待
CURLOPT_TIMEOUT_MS
尝试连接时等待的毫秒数。使用0无限期等待。如果构建libcurl以使用标准系统名称解析程序,则连接的该部分仍将使用全秒分辨率进行超时,允许的最小超时时间为一秒。在cURL 7.16.2中添加。自PHP 5.2.3起可用。
答案 1 :(得分:0)
这是卷曲的工作原理:
首先它连接到您提供的网址。
然后它会通过CURLOPT_TIMEOUT
选项执行您指定的秒数的整体卷曲操作。
因此,如果将CURLOPT_TIMEOUT
设置为-2,则在连接到主机后将永远不会执行。要验证这一点,请通过启用CURLOPT_VERBOSE
选项来运行脚本。而且你总会得到以下的消息。
* Operation timed out after -2000 milliseconds with 0 bytes received