2014-01-15 101 views
0

當您使用負捲曲超時時會發生什麼?負捲曲超時

$ curlOptions [CURLOPT_TIMEOUT] = -2;

它變成正2還是-2?

因爲,有時捲曲的作品,有時不...

回答

0

這是如何工作的捲曲:

首先,它連接到您提供的網址。

然後,它通過CURLOPT_TIMEOUT選項指定的秒數執行整體捲曲操作。

所以,如果你設置了CURLOPT_TIMEOUT爲-2永遠不會連接到主機後執行。要驗證這一點,請啓用CURLOPT_VERBOSE選項來運行該腳本。你總是會得到以下的信息。

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

誰的情況是:CURLOPT_TIMEOUT = -2,CONNECT TIMEOUT = 1; 這是如何有時工作,有時沒有? – AdrianPop

0

爲什麼你需要一個負超時?它沒有任何意義。無論是捲曲獲取頁面和退出,或等待它的完成加載,對於你使用一個正值,貝婁是關於如何使用捲曲帶超時的例子:

$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以使用標準系統名稱解析器,那麼連接的該部分仍將使用全秒分辨率超時,且允許的最小超時時間爲1秒。在cURL 7.16.2中添加。自PHP 5.2.3起可用。