cURL-загрузка сайта с защитой CloudFlare
У меня есть сайт, который я хочу загрузить с помощью curl. Однако сайт, о котором я говорю, использует защиту cloudflare. В то время как на curl request => он говорит "проверка вашего браузера, вы будете перенаправлены через 5 секунд", и я перенаправляюсь на страницу, которая не существует, потому что, как я думаю, я не прошел какой-то тест защиты.
Я долго искал свой ответ, и я нашел только две полезные ссылки:
но я все еще не могу понять. Мне помочь?
2 ответов
Это будет CloudFlare, я в режиме атаки -> http://blog.cloudflare.com/introducing-im-under-attack-mode
Если вы являетесь владельцем сайта, вы должны белый список свой IP-адрес. Если вы являетесь посетителем сайта либо
1.) У владельца веб-сайта есть функция, включенная на их собственном веб-сайте, и в этом случае это намеренно, и нет никакого способа обойти это, поскольку они защищают свой веб-сайт или
2.) Вы загружаете сайт слишком часто - и вы запускаете защиту от DDOS CloudFlare.
p.s. Отказ от ответственности: я работаю на CloudFlare.
вы можете обойти в режиме под атакой, выбрав "Копировать как завиток" в разделе "Сеть" в разделе "Инструменты разработчика" любого крупного браузера.
это копирует все необходимые куки, так что ваш завиток может быть "аутентифицирован". Как долго эти куки последний я бы предположил, будет до cloudflare.
SideNote: завиток должен быть запущен на том же IP, что и при загрузке сайта. Также для любой реальной среды тестирования / разработки я бы предложил селен и/или помощи 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 для сценария этих тестов.