file_get_content($url)与直接访问的区别



我想要用户输入的URL页面的源代码。我们可以使用file_get_contents获取它。

但是当使用file_get_contents时,它给出:

Warning: file_get_contents(http://www.google.com): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /var/www/html/scrap/yelp/simple_html_dom.php on line 75

如果我从浏览器打开相同的url,它会正确打开。谷歌人如何得到我使用file_get_content或从浏览器查询?

更新:我也尝试了curl,但仍然相同的错误

try CURL with useragent

function get_web_page( $url ){
    $options = array(
            CURLOPT_RETURNTRANSFER  => true,
            CURLOPT_HEADER          => false,
            CURLOPT_FOLLOWLOCATION  => true,
            CURLOPT_USERAGENT       => "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",
            CURLOPT_SSL_VERIFYPEER  => false,
        );
        $ch      = curl_init( $url );
        curl_setopt_array( $ch, $options );
        $content = curl_exec( $ch );
        curl_close( $ch );
        return $content;
}
echo get_web_page("http://www.google.com");

我的建议是你想解析的网站已经阻止了不必要的请求,尝试使用cUrl库

嘿,它会工作良好的问题是你的代码是错误的。

file_get_contents('http://www.google.com');

使用这个就可以了。

相关内容

  • 没有找到相关文章

最新更新