我有一个要使用 cURL 加载的网站。但是,我正在谈论的站点正在使用 cloudflare 保护。在 cURL 请求 => 时,它说“检查您的浏览器,您将在 5 秒内被重定向”,我被重定向到不存在的页面,因为我认为我没有通过一些保护测试。
我一直在寻找我的答案很长一段时间,我发现只有两个有用的链接:
但我还是想不通。对我有什么帮助吗?
我有一个要使用 cURL 加载的网站。但是,我正在谈论的站点正在使用 cloudflare 保护。在 cURL 请求 => 时,它说“检查您的浏览器,您将在 5 秒内被重定向”,我被重定向到不存在的页面,因为我认为我没有通过一些保护测试。
我一直在寻找我的答案很长一段时间,我发现只有两个有用的链接:
但我还是想不通。对我有什么帮助吗?
那将是 CloudFlare 的我处于攻击模式下 --> http://blog.cloudflare.com/introducing-im-under-attack-mode
如果您是该站点的所有者,则应将您自己的 IP 地址列入白名单。如果您是该网站的访问者
1.) 网站所有者在他们自己的网站上启用了该功能,在这种情况下这是故意的,因为他们正在保护自己的网站或
2.) 您过于频繁地加载站点——并且您正在触发 CloudFlare 的 DDOS 保护。
ps 免责声明:我为 CloudFlare 工作。
您可以通过在任何主要浏览器的开发人员工具下的网络部分中选择“复制为 cUrl”来绕过攻击模式。
这会复制所有必需的 cookie,以便您的 curl 可以“验证”。我认为这些 cookie 会持续多久取决于 cloudflare。
旁注:curl 必须在加载站点时使用的同一 IP 上运行。此外,对于任何真正的测试/开发环境,我建议使用selenium和/或phantomjs,它们是用于网站测试的更好且易于编写脚本的语言。
curl 'https://ilikeurls.net/ourpage.php?do=command' \
-H 'Host: ilikeurls.net' \
-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
-H 'Accept-Language: en-US,en;q=0.5' \
-H 'Referer: https://ilikeurls.net/outpage.php' \
-H 'Cookie: all required cookies will appear here' \
-H 'Connection: keep-alive'\
--compressed
尽管您最好使用 selenium 或 phantomjs 编写这些测试的脚本。
您可以尝试调整您的机器人设置或找到将 CURL 列入白名单的方法。
我在 Firewall > Bot 中调整 Cloudflare 设置后,我所有的 curl 请求都开始返回 403 错误。所有人都被允许;我将自动设置为阻止并可能自动设置为挑战,它破坏了 CURL。