负卷曲超时

时间:2014-01-15 12:16:57

标签: curl connection-timeout

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

$ curlOptions [CURLOPT_TIMEOUT] = -2;

它会变成正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