我编写了简单的PHP代码来获取一些网址内容,但它没有用 它会返回此错误
file_get_contents(http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html)[function.file-get-contents]:无法打开流:HTTP请求失败! HTTP / 1.0 401未经授权
这是我的代码。请帮帮我.tnx
$content=file_get_contents('http://www.nature.com/nature/journal/v508/n7496/full/nature13001.html');
echo $content;
答案 0 :(得分:4)
以下使用file_get_contents代替cURL:
$url = 'http://www.example.com';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
curl_close($curl);
如果遇到编码问题,可能需要添加此curl_setopt($curl, CURLOPT_ENCODING ,"");
。
答案 1 :(得分:0)
使用浏览器打开页面并打开控制台,即使页面已发送且可见,服务器确实发送了401
在php上,以另一种方式打开网址以忽略错误(请参阅http://php.net/manual/en/context.http.php)
您还会注意到它是gzip编码的,请参阅http://php.net/manual/en/function.gzinflate.php
快乐的黑客攻击!