我有一些图像需要执行 HttpRequestMethod.HEAD 才能找出图像的一些详细信息。
当我在浏览器上访问图像网址时,它加载时没有问题。
当我尝试通过我的代码或在线工具获取标头信息时,它失败了
示例 URL 是http://www.adorama.com/images/large/CHHB74P.JPG
如前所述,我使用了在线工具Hurl.It尝试实现 Head 请求,但我收到了与代码中相同的 403 Forbidden 消息。
我尝试向 Head 请求添加许多不同的标头(User-Agent、Accept、Accept-Encoding、Accept-Language、Cache-Control、Connection、Host、Pragma、Upgrade-Insecure-Requests),但这些似乎都不起作用。
它也无法通过 Hurl.it 执行正常的 GET 请求。同样的 403 错误。
如果相关的话,我的代码是一个 C# Web 服务,并且在 AWS 云上运行(以防万一 Adorama 服务器有一些我不知道的针对 AWS 的东西)。为了测试这一点,我还启动了一个 ec2(linux 盒子)并运行curl,它也返回了 403 错误。在我的个人计算机上本地运行curl会返回二进制图像,这可能只是图像数据。
只是为了消除明显的想法,我的代码可以在许多其他网站上成功运行,只是这个网站存在问题
知道我需要什么才能下载图像标题而不收到 403 吗?
同样的问题在这里。
本地运行顺利。从 AWS 实例执行此操作时,我遇到了同样的问题。
我认为这是一个 DNS 解析问题(重定向到故障节点)。因此,我尝试指定与我的客户端解析相同的 IP 地址,但没有解决问题。
我的猜测是 Akamai(在本例中该服务由 Akamai CDN 提供)正在阻止 AWS。这是可以理解的,客户按流量支付 CDN,通过滥用它,人们可以产生巨额账单。
正在连接 www.adorama.com (www.adorama.com)|104.86.164.205|:80... 已连接。
HTTP request sent, awaiting response...
HTTP/1.1 403 Forbidden
Server: **AkamaiGHost**
Mime-Version: 1.0
Content-Type: text/html
Content-Length: 301
Cache-Control: max-age=604800
Date: Wed, 23 Mar 2016 09:34:20 GMT
Connection: close
2016-03-23 09:34:20 ERROR 403: Forbidden.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)