cURL-загрузка сайта с защитой CloudFlare

У меня есть сайт, который я хочу загрузить с помощью curl. Однако сайт, о котором я говорю, использует защиту cloudflare. В то время как на curl request => он говорит "проверка вашего браузера, вы будете перенаправлены через 5 секунд", и я перенаправляюсь на страницу, которая не существует, потому что, как я думаю, я не прошел какой-то тест защиты.

Я долго искал свой ответ, и я нашел только две полезные ссылки:

ссылка 1

Ссылка 2

но я все еще не могу понять. Мне помочь?

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 для сценария этих тестов.