繁体   English   中英

使用php file_get_content时出现错误访问被拒绝

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM