cURL - 加载具有CloudFlare保护的站点

Mar*_*cin 12 php curl cloudflare

我有一个网站,我想用cURL加载.但是,我所说的网站正在使用cloudflare保护.在cURL请求=>它说"检查你的浏览器,你将在5秒内重定向",我将被重定向到不存在的页面,因为我认为我没有通过一些保护测试.

我一直在寻找我的答案,我发现只有两个有用的链接:

链接1

链接2

但我仍然无法弄明白.对我有什么帮助?

小智 15

那将是CloudFlare的我受到攻击模式 - > http://blog.cloudflare.com/introducing-im-under-attack-mode

如果您是该网站的所有者,则应将自己的IP地址列入白名单.如果您是该网站的访问者

1.)网站所有者在他们自己的网站上启用了该功能,在这种情况下它是有意的,并且没有办法解决这个问题,因为他们正在保护他们的网站或

2.)您经常加载网站 - 而且您正在触发CloudFlare的DDOS保护.

ps免责声明:我为CloudFlare工作.

  • 您好,因为您正在为 CloudFlare 工作,我想告诉您这是一种绕过“内容保护”的方法。:1. 使用 Curl 加载页面,2. 将其传递给 Selenium,将浏览器设置为 Chrome。3. 用之前的 cookie 加载页面,等待 5 秒,然后打印出其内容。简单 :) (3认同)

tic*_*mbs 15

您可以通过在任何主要浏览器的开发人员工具下的网络部分中选择"复制为cUrl"来绕过攻击中模式.

这将复制所有必需的cookie,以便您的卷曲可以"验证".这些饼干持续多久我会假设将达到cloudflare.

SideNote: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
Run Code Online (Sandbox Code Playgroud)

虽然你可能最好使用selenium或phantomjs来编写这些测试.

  • 实际上,不要做`-H'接受编码:gzip,deflate'` - 做`--compressed` - 这将使curl发送相同的头,所有卷曲编译的压缩方案 - 通常归结为到'gzip,deflate` - 并且curl会自动为你解压缩,保持可读性和可渗透性,并保持压缩提供的速度改进:) (6认同)
  • 这个技巧到今天为止不起作用,cloudflare 返回验证码页面。 (5认同)