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

Curl 为什么www.amazon.com呈现二进制数据?,curl,user-agent,Curl,User Agent,如果您访问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.3

如果您访问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

为什么amazon会选择向没有指定用户代理的客户端发送二进制数据?我不确定这样做会给他们带来什么好处

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


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

请检查带有“-i”标志的内容编码标题。这个值很可能是gzip,这意味着thr内容是一个压缩的二进制文件,大多数浏览器在收到后都会对其进行解码

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

是:
内容编码:gzip
。直到浏览器可以解码gzip。谢谢为什么你认为他们只在某些时候发送gzip?是的:
内容编码:gzip
。直到浏览器可以解码gzip。谢谢为什么你认为他们只在某些时候发送gzip?