php - PHP file_get_contents() 输出垃圾 HTML
问题描述
我尝试访问的网页有<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?编码有问题吗?
更新
网页每次都在浏览器中成功打开。我还从浏览器复制了请求标头,但问题仍然存在。如果有帮助,我正在访问的网站是亚马逊。
解决方案
推荐阅读
- mongodb - MongoDB 中的 Spring Boot 动态更新
- ios - 用于回复 App Store 评论的 API?
- r - 曲线下的填充区域 - R 图
- python - 我在使用 gunicorn 部署项目时犯了一个错误
- ruby-on-rails - 在 Ruby 中安装 I18n 后多次失败
- ruby-on-rails - 如何在 JSON 中公开继承列
- r - while (abs(G.dev.old - G.dev) > c.crit && iter < n.cyc) 中的 gamlss 错误
- javascript - 引导多选:默认值和 onChange 不起作用
- git - 使用 ssh-agent 调用 docker-compose
- javascript - 未捕获(承诺中)类型错误:无法读取未定义的属性“绑定”