使用CURL从重定向的URL抓取网页

时间:2014-10-18 08:22:56

标签: php redirect curl

我有一个网址http://www.example.com/all.php?f=1。当我打开网址时,它会重定向到http://www.example.com/all.php,其值为f(其中f = 1)。我尝试使用curl抓取重定向的URL,但它仍然失败。我尝试在这个网站上搜索任何内容,但几乎所有问题都是关于如何获取网址,而不是如何获取网址。

我尝试使用此功能:

function get_url_content($url,$timeout) {
        $ch = curl_init($url); // initialize curl with given url
        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); // set  useragent
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // write the response to a variable
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // follow redirects if any
        curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // max. seconds to execute
        curl_setopt($ch, CURLOPT_FAILONERROR, 1); // stop when it encounters an error

        $output = curl_exec($ch);

        curl_close($ch);
        if (!$output) {
            return -1;
        }
        return $output;
}

但是当我运行它时:

$url = 'http://www.example.com/all.php?f=1';
$me = get_url_content($url);

echo $me; //it should grab the page http://www.example.com/all.php

它返回-1,表示没有输出。我很困惑。任何解决方案?

1 个答案:

答案 0 :(得分:0)

将其更改为

$url = 'http://www.example.com/';
$me = file_get_content($url);
echo $me;