错误301通过在URL上使用函数fileget_contents_curl

时间:2014-03-03 23:46:31

标签: php curl

我有一个错误卷曲代码301.当我提出卷曲leboncoin.fr的请求时出现错误301 我尝试通过在我的函数curl的代码中添加:curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,1)来解决问题。 代码工作仅在一天内找到。第二天我又找到了相同的代码错误(301错误)

以下是卷曲代码:

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;
}
你有任何想法解决这个问题吗? 感谢。

1 个答案:

答案 0 :(得分:0)

如果它有一天工作且您所在的站点或您尝试连接的站点没有任何变化,则应该是相同的结果。

在任何情况下,由于您知道地址已更改,因此请在代码中更改地址以减少时间和步骤。

此外,由于等待连接的时间限制,您可能遇到问题,尝试将CURLOPT_CONNECTTIMEOUT增加一点,例如13,以防服务器花费太长时间来响应或重定向。