2010-10-25 38 views
0

我試圖通過解析/通過PHP抓取網站的信息來獲取信息& Curl。但是有時候當前頁面沒有完成加載,所以腳本運行時沒有任何事情發生。它是這樣一個簡單的腳本...加載有時通過PHP「掛起」的頁面(捲曲)

... 

curl_setopt($curl, CURLOPT_URL, $url); 

$page = curl_exec($curl); 

... 

有沒有辦法簡單地重試同一頁面的加載,如果(例如)在60秒鐘後頁面沒有加載完成,無需中斷完整的腳本?

如果有人能夠幫助我實現這項任務,那將會很棒。

回答

2

您可以使用CURLOPT_TIMEOUT這是允許cURL函數執行的最大秒數。

curl_setopt($ch, CURLOPT_TIMEOUT, timeout_in_seconds); 
+0

感謝信息。你有什麼想法如何知道是否有超時並重復該過程? – 2010-10-25 00:35:46

+1

我想你可以遍歷你的'curl_exec'直到返回值爲真。 *雖然未經測試* – 2010-10-25 01:10:18

0

簡單的東西會..

$bol=true; 
while($bol) 
{ 
$page = curl_exec($curl); 
if($page=="")//Or whatever curl_exec returns on timeout 
$bol=true; 
}