的http_access调用的file_get_contents返回时(也simple_html_d

2019-10-28 19:35发布

我试图让一个页面这样的内容:

<?php
include_once 'simple_html_dom.php'; 
        $opts = array('http' =>
            array(
                    'method'  => 'GET',
                    'timeout' => 10
            )
    );
    $domain = "http://www.esperandoaramon.com";
    //$domain = "http://www.google.com";
    $context  = stream_context_create($opts);
    $input = @file_get_contents($domain,false,$context) or die("Could not access file:    $domain");
    echo($input);
?>

我能得到www.google.com内容这样,不幸的是,其他域给我仅此通知:

Notice:
Text: Undefined index: HTTP_ACCEPT
File: /home/trdeport/public_html/esperandoaramon/_visit.php
Line: 4

这HTTP_ACCEPT死我了......在页面完全运行在浏览器中。 有没有什么解决方法吗?

Answer 1:

看来这个问题是与该网站的另一端,而不是与你的脚本。 我怀疑,其他站点期望一个Accept头,当它没有一个,它失败(它与你的浏览器,因为浏览器总是发出这个头。)尝试在你流上下文选项设置它:

$opts = array(
    'http' => array(
        'method' => 'GET',
        'timeout' => 10,
        'header' => "Accept: text/html\r\n"
    )
);


文章来源: HTTP_ACCESS returned when invoking file_get_contents (and also simple_html_dom)