Обход Cloudflare Turnstile

На платформе 2Captcha теперь есть возможность автоматического распознавания и обхода Cloudflare Turnstile.
Cloudflare Turnstile - что это такое?
Turnstile — это Cloudflare капча, которая призвана блокировать ботов и автоматизированные системы. Она является простой в решении для обычных пользователей, но сложной для распознавания ботами и автоматическими системами.
Как работает Cloudflare Turnstile?
Зачастую обычному пользователю даже не требуется разгадывать капчу, так как проверка проходит автоматически в фоне. Вы можете ознакомиться с примером работы на странице демо.
Автоматическое решение капчи Cloudflare Turnstile
Обойти Cloudflare Turnstile можно с помощью сервиса автоматического разгадывания капчи 2Captcha.
Процесс простой:
- Посредством API заказчик отправляет запросы на распознавание капчи в сервис;
- Сервис передает задачи работникам, которые выполняют распознавание
- Сервис получает ответы от работников
- Посредством API заказчик отправляет запрос в сервис и получает результат
Процесс быстрый и надежный, и его можно использовать для обхода любых капч, в том числе и применять к Cloudflare Turnstile.
Чтобы использовать API, нужно сначала зарегистрироваться на сайте. Полноценное использование API доступно только после регистрации.
Описание работы с API по обходу Cloudflare капчи
Заказчик посредством API отправляет запрос на обход капчи. В запросе нужно передать определенные параметры.
В ответ на полученный запрос сервис возвращает идентификатор капчи.
Затем, используя полученный в ответе идентификатор капчи, заказчик запрашивает решение.
Отправка запроса
При отправке запроса нужно указать всего несколько параметров. Список:
| Параметр | Описание |
|---|---|
key |
API ключ |
method |
turnstile - указывает, что отправляется запрос на решение Turnstile |
sitekey |
значение sitekey из страницы на которой находится капча |
pageurl |
полный URL страницы с капчей |
Пример запроса:
json
{
"method": "turnstile",
"key": "YOUR_API_KEY",
"sitekey": "0x4AAAAAAAC3DHQFLr1GavRN",
"pageurl": "https://2captcha.com/demo/cloudflare-turnstile",
"json": 1
}
В ответ на запрос API возвращает идентификатор капчи.
Пример ответа:
json
{
"status": 1,
"request": "74327409378"
}
Полученный идентификатор нужно использовать, чтобы запросить результат с решением.
Отправка запроса на обход Turnstile на страницах Cloudflare Challenge

Если нужно обойти Turnstile на страницах Cloudflare Challenge, дополнительно также требуется указать следующие параметры:
| Параметр | Описание |
|---|---|
action |
turnstile.render |
data |
cData |
pagedata |
chlPageData |
userAgent |
User-Agent вашего браузера. Используйте современные браузеры, мы рекомендуем использовать версии браузеров, выпущенные в последние 6 месяцев |
Дополнительные параметры передавать не обязательно, если Turnstile используется на любом другом сайте.
Как извлечь требуемые дополнительные параметры
Чтобы получить дополнительные параметры достаточно переопределить метод turnstile.render, чтобы он перехватывал параметры, передаваемые при вызове метода.
Например, можно добавить на страницу следующий код JavaScript. Код должен выполняться до загрузки Turnsitle.
Пример кода:
js
const i = setInterval(()=>{
if (window.turnstile) {
clearInterval(i)
window.turnstile.render = (a,b) => {
let p = {
method: "turnstile",
key: "YOUR_API_KEY",
sitekey: b.sitekey,
pageurl: window.location.href,
data: b.cData,
pagedata: b.chlPageData,
action: b.action,
userAgent: navigator.userAgent,
json: 1
}
console.log(JSON.stringify(p))
window.tsCallback = b.callback
return 'foo'
}
}
},50)
Пример запроса
json
{
"key": "YOUR_API_KEY",
"method": "turnstile",
"sitekey": "0x0AAAAAAADnPIDROzbs0Aaj",
"data": "7fab0000b0e0ff00",
"pagedata": "3gAFo2...0ME1UVT0=",
"pageurl": "https://2captcha.com/",
"action": "managed",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
"json": 1
}
Ответ от API после принятия запроса
Если капча принята в обработку, должен вернуться ответ, содержащий id запроса.
Пример:
json
{
"status": 1,
"request": "74327409378"
}
Если отправка капчи завершилась ошибкой, должен вернуться ответ с ошибкой. Перечень всех ошибок с описанием собран в списке.
После отправки запроса нужно подождать 15-20 секунд пока завершится распознавание и затем можно выгрузить распознанный текст отправив запрос к API по URL res.php.
Получение решения
Чтобы получить решение нужно передать id отправленного ранее запроса, это значение из параметра request.
Отправить запрос нужно к res.php. Для отправки запроса нужно отправить всего три параметра:
| Параметр | Описание |
|---|---|
| key | ключ API |
| action | get - означает отправку запроса на получение результата решения |
| id | ID запроса, полученный от in.php |
| json | установить значение 1 для получения ответа в формате JSON |
Пример запроса:
json
{
"key":"YOUR_API_KEY",
"action":"get",
"id":'74327409378'
}
Если капча решена, должен вернуться ответ.
Примера ответа:
json
{
"status": 1,
"request": "0.4uMMZZdSfsVM8...610cd090",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
}
Если решение капчи не завершено, должен вернуться ответ CAPCHA_NOT_READY.
Если решение завершилось ошибкой, должен вернуться ответ с ошибкой.
Цена
Стоимость решения капчи Cloudflare Turnstile — за 2,99 $ 1000 успешно решенных капч.
Полезные ссылки
Автоматический обход капчи Cloudflare Turnstile с помощью 2Captcha API — отличный способ автоматизировать процесс обхода. Подробная информация об обходе капчи Cloudflare Turnstile доступна в документации по API.
Примеры работы с API на языках программирования:
Примеры кода по работе с сервисом на официальной странице в GitHub.