2010-08-20 90 views
0

使用PHP的Curl我怎麼知道頁面沒有響應以便抓取另一個?卷頁超時問題

+0

設置超時作爲strager響應,檢查curl_exec的返回碼,並且還可以通過curl_getinfo()返回一些有用的信息() – 2010-08-20 12:30:02

+0

當結果數組將它的'errno'鍵設置爲'28'時。就像這樣:'[「errno」] => int(28)' – JeroenEijkhof 2011-07-04 05:32:57

回答

3

使用CURLOPT_CONNECTTIMEOUT option

// Wait two seconds before bailing 
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2); 

還有CURLOPT_TIMEOUT,它適用於整個請求調用(包括DNS獲取和讀取數據)。

要檢查呼叫是否超時,您可以檢查其返回值。如果沒有,則設置CURL處理程序的curl_errno,您可以將其與CURLE_OPERATION_TIMEDOUT(或僅僅CURLE_OK)進行比較。

+0

但這不是他的問題,是嗎?問題是如何告訴一個電話超時(而不是一些其他錯誤) – 2010-08-20 12:17:49

+0

@皮卡,哦,似乎我誤解了這個問題。我會更新我的答案。 – strager 2010-08-20 12:26:48