2014-03-03 41 views
0

我有一個錯誤捲曲代碼301.我得到一個錯誤301當我提出請求curl leboncoin.fr 我嘗試通過添加curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,1)在我的函數curl的代碼中。代碼工作僅在一天內找到。而第二天,我又發現了同樣的代碼erreor(301錯誤)錯誤301通過在url上使用函數fileget_contents_curl

這裏是下面的捲曲代碼:

function file_get_contents_curl($url) 
{ 
     $ch = curl_init(); 
     $timeout = 10; 

     curl_setopt($ch, CURLOPT_HEADER, 0); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     **curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);** 
     curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1); 
     curl_setopt($ch, CURLOPT_FORBID_REUSE , 1); 
     curl_setopt($ch, CURLOPT_TIMEOUT , 10); 
     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); 
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
     $data = curl_exec($ch); 
     curl_close($ch); 
     return $data; 
} 

你有任何想法解決這個? 謝謝。

+0

檢查獲取響應需要多長時間。 – PatomaS

回答

0

如果它有效一天,並且您沒有任何變化或您嘗試連接的網站,它應該是相同的結果。

在任何情況下,由於您知道地址已更改,請在代碼中更改它以縮短時間和步驟。

另外,由於等待連接的時間限制,您可能會遇到問題,請嘗試稍微增加CURLOPT_CONNECTTIMEOUT,例如13,以防服務器花費太長時間來響應或執行重定向。