我想要用户输入的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');
使用这个就可以了。