为什么 www.amazon.com 呈现二进制数据?

Why does www.amazon.com render binary data?

如果你 curl www.amazon.com 服务器响应二进制数据。

curl -L https://www.amazon.com | less

然而,当您添加用户代理或在浏览器中查看完全相同的 url 时,它们会发送有效的 HTML 标记。

curl -L -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" https://www.amazon.com | less

为什么亚马逊会选择向没有指定用户代理的客户端发送二进制数据?我不确定他们这样做会得到什么。

当然,他们可能试图混淆他们对机器人的反应。但如果是这样的话,他们还不如根本不发送回复。

如有任何见解,我们将不胜感激。

使用“-i”标志检查内容编码 header。该值很可能是 gzip,这意味着内容是压缩的二进制文件,大多数浏览器会在收到后对其进行解码。