file_get_contents打开流失败:HTTP请求仅针对特定网页失败



尝试在特定URL上执行file_get_contents时出现以下错误:http://lolking.net/champions/。在我尝试过的任何其他网页上执行file_get_contents都没有问题。

错误是:

Warning: file_get_contents(http://lolking.net/champions) [function.file-get-contents]: failed to open stream: HTTP request failed!

我认为这个页面是故意阻止我的请求。我也试过使用cURL和伪造用户代理,但这两种方法都不起作用。

还有什么我可以做,试图从上述URL抓取信息?

这对我来说很有效,记住要有cookies.txt。

$cookie_file = "cookies.txt";
$url = 'http://www.lolking.net/champions';
$c = curl_init($url);
curl_setopt($c, CURLOPT_FRESH_CONNECT, 1);                  
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);         
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);     
$z = curl_getinfo($c);
$s = curl_exec($c);
curl_close($c);
echo $s;

Try

file_get_contents('http://www.lolking.net/champions/');

file_get_contents不能处理HTTP头重定向,而该页可以使其转到www.lolking.net。

相关内容

  • 没有找到相关文章

最新更新