amazon-web-services - BestBuy 拒绝来自 ec2 实例的 curl
问题描述
嗯,情况就是这样,我想在 bestbuy.com 上出现某些内容时收到通知。Curl 用户代理一定已被列入黑名单,因为设置自定义用户代理会给我一个响应。
curl --user-agent 'do-it-to-it' --compressed https://www.bestbuy.com
但是我想在虚拟机上运行这个命令。上面的命令在我的本地机器上工作,但在 VM 上执行时它返回Access Denied
.
左边的文件来自 EC2,右边的文件来自本地机器。您可以看到我从 EC2 获得了 HTTP 403。我只是不明白服务器正在捕获什么导致它拒绝来自我的 EC2 的请求,我在这里看到的主要区别是证书ca-bundle.crt
与cert.pem
.
解决方案
它很可能是分配给 Amazon EC2 的公共 IP 地址范围,这是公共知识。
许多网站不希望人们抓取他们的网站,并且由于大量网络抓取是从虚拟机完成的,他们选择阻止来自 Amazon EC2 实例的访问。
您应该使用BestBuy API。
推荐阅读
- sql-server - PowerShell 导入模块 SqlServer 无法加载 PSSnapins.dll
- python - 单击按钮打开窗口,关闭当前窗口?
- node.js - AWS 环境变量独立于 shell
- android - 尝试在空对象引用上调用虚拟方法“long com.mesibo.api.JNIAPI.random()”
- optimization - PyTorch 的 Adam 自定义实现
- angular - 角度6 css绑定
- linux-kernel - 为什么 rndr 指令的输出与引导加载程序的熵混合以在 arm64 上形成 linux kaslr
- javascript - Angularjs表单验证多个输入值
- python - 如何将带有 ID 标签的图例添加到我的代码中
- c++ - 如何在 C++ 中使用 * 打印 X 形状而不使用任何循环