0
我有一個使用捲曲搶URL內容的簡單的PHP腳本:PHP捲曲不採取暫停時間到
$curlOptions = [
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HEADER => TRUE,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_MAXREDIRS => 5,
CURLOPT_CONNECTTIMEOUT => 3,
CURLOPT_TIMEOUT => 5,
CURLOPT_NOBODY => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
];
$curl = curl_init();
curl_setopt_array($curl, $curlOptions);
$curlResult = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
然而,在某些情況下,我清楚地看到20秒以上eventhough持續時間我指定了較低的超時值CURLOPT_CONNECTTIMEOUT
和CURLOPT_TIMEOUT
。
如何在指定的值處使cURL超時?
UPDATE:
所有捲曲的是需要20秒才能完成返回0。它的「身份」可能是DNS問題,即它無法解析主機。我會假設CURLOPT_CONNECTTIMEOUT
會照顧這個?
做你試過CURLOPT_TIMEOUT_MS? –
我嘗試過'CURLOPT_TIMEOUT_MS'設置爲5000,但似乎沒有區別。 – Luke
嘗試重置Curl「curl_reset($ ch);」並超過設置超時 –