Обход Cloudflare Challenge с помощью Puppeteer и 2Captcha
На первый взгляд процесс обхода защиты Cloudflare может показаться довольно сложным, но когда вы начинаете писать код, то все становится гораздо проще.
Прежде всего, вы должны четко понимать, в чем разница между отдельной страницей Turnstile CAPTCHA и страницей Cloudflare Challenge.
К страницам задач предъявляются некоторые дополнительные требования: вам необходимо перехватить несколько дополнительных значений: chlPageData, cData, action, вы должны использовать современное User-Agentзначение, и мы вернем вам использованное значение.
Как обойти страницу вызова
Первым делом устанавливаем необходимые зависимости: puppeteer и 2captcha-ts из npm.
Запустить браузер
Ничего особенного, просто запускаю браузер с конфигурацией по умолчанию.
Перехватить параметры
Для этого мы внедряем скрипт, который переопределяет turnstile.render, перехватывает параметры и записывает их в консоль. Мы также переопределяем его console.clear, поскольку Cloudflare вызывает его, чтобы очистить вывод консоли.
inject.jsсодержимое файла
Решите капчу с помощью 2Captcha API
Перехватываем параметры с помощью обработчика console событий и используем 2captcha-ts для решения капчи с помощью API. Как только мы получаем токен, мы передаем его функции обратного вызова, глобально определенной нашим внедренным скриптом. Определив наш обработчик, мы переходим на целевую страницу.
Вот и все
Эта простая демонстрация показывает, что весь процесс действительно прост, а интеграция с API 2Captcha происходит быстро и без проблем.
Полный демонстрационный код можно найти в репозитории GitHub: https://github.com/2captcha/cloudflare-demo .
Полезные ссылки
Рекомендации
- Используя расширение и Puppeteer, вы можете создать решение для решения капчи Puppeteer .
- Узнайте, как использовать расширение решателя 2Captcha в Puppeteer для обхода reCAPTCHA и других капч (блог)
Узнайте, как обойти турникет Cloudflare (не Cloudflare Challenge) на любом веб-сайте.