PHP file_get_contents()输出垃圾HTML

时间:2018-09-11 19:37:00

标签: php encoding file-get-contents

我要访问的网页带有<meta charset="utf-8">标签。我正在使用以下代码访问HTML。

$options = array(
'http'=>array(
    'method'=>"GET",
    'header' => implode("\r\n", array(
    "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    "Content-type: text/html",
    "Accept-Language: en-us,en;q=0.5",
    "Accept-Charset: utf-8;q=0.7,*;q=0.7"
    ))
  )
);
$context = stream_context_create($options);

$webpage_html = file_get_contents($webpage_url, false, $context);

相同网页的HTML输出有时会作为垃圾输出。其他时间它也可以正常工作,而无需更改代码。这是示例垃圾输出:

Xi�۸��_!�R2Y�PҬ�]��|��r썏�lM&S /�������5c'�]K@��h����d2������L�ǟ^�N���"��,(DsW�i�d��3�����53�I^�|��i�~�~�o�ʟ|

如何确保每次都能获得正确的HTML?编码有问题吗?

更新

每次都会在浏览器中成功打开网页。我还从浏览器复制了请求标头,但问题仍然存在。如果有帮助,我访问的网站是亚马逊。

0 个答案:

没有答案