我试图以这种方式获取页面的内容:
<?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正在扼杀我...页面在浏览器上运行完美。有没有解决方法?
答案 0 :(得分:1)
似乎问题出在另一端的网站上,而不是你的脚本。我怀疑其他网站需要一个Accept
标头,当它没有标头时,它会失败(它适用于您的浏览器,因为浏览器总是发送该标头。)尝试在您的流上下文选项中设置它: / p>
$opts = array(
'http' => array(
'method' => 'GET',
'timeout' => 10,
'header' => "Accept: text/html\r\n"
)
);