[英]ERROR Access Denied when using php file_get_content
我正在使用php file_get_contents获取网页。
当我从本地主机执行此操作时,一切正常。
但是,一旦我从共享主机执行此操作,就会收到此错误消息:
错误
拒绝访问
访问被安全策略拒绝
您的网络的安全策略目前阻止您的请求。 如果您认为这是不正确的,请与管理员联系。
这是我得到的标题
array(4) { [0]=> string(22) "HTTP/1.0 403 Forbidden" [1]=> string(23)
"Content-Type: text/html" [2]=> string(17) "Connection: close" [3]=> string(19)
"Content-Length: 353" }
代码很简单
$page = file_get_contents('http://www.somedomain.com/');
如果我尝试当前页面的话
$page = file_get_contents('http://stackoverflow.com/questions/10565054/error-access-denied-when-using-php-file-get-content');
有任何想法吗 ?
远程Web服务器拒绝您的请求。 没有明确地说出为什么它拒绝了你。 服务器可能配置为拒绝IP范围,该IP范围包括共享主机所在的位置。 服务器可能需要某些标头信息(例如主机条目或特定的user_agent或其他内容)。请尝试设置一些HTTP上下文内容,以安抚您要联系的服务器。 这是来自file_get_contents页面的示例。
function file_get_contents_utf8($fn) {
$opts = array(
'http' => array(
'method'=>"GET",
'header'=>"Content-Type: text/html; charset=utf-8"
)
);
$context = stream_context_create($opts);
$result = @file_get_contents($fn,false,$context);
return $result;
}
如果可以从浏览器访问目标,请尝试复制浏览器发送的所有标头。 大多数浏览器都有某种插件,可以向您确切显示请求中包含哪些标头。
因此,该网络服务器检查了浏览器并拒绝了您的连接。 您应该尝试fsock函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.