Обход Cloudflare Turnstile
На платформе ruCaptcha теперь есть возможность автоматического распознавания и обхода Cloudflare Turnstile.
Cloudflare Turnstile - что это такое?
Turnstile — это Cloudflare капча, которая призвана блокировать ботов и автоматизированные системы. Она является простой в решении для обычных пользователей, но сложной для распознавания ботами и автоматическими системами.
Как работает Cloudflare Turnstile?
Зачастую обычному пользователю даже не требуется разгадывать капчу, так как проверка проходит автоматически в фоне. Вы можете ознакомиться с примером работы на странице демо.
Автоматическое решение капчи Cloudflare Turnstile
Обойти Cloudflare Turnstile можно с помощью сервиса автоматического разгадывания капчи ruCaptcha.
Процесс простой:
- Посредством API заказчик отправляет запросы на распознавание капчи в сервис;
- Сервис передает задачи работникам, которые выполняют распознавание
- Сервис получает ответы от работников
- Посредством API заказчик отправляет запрос в сервис и получает результат
Процесс быстрый и надежный, и его можно использовать для обхода любых капч, в том числе и применять к Cloudflare Turnstile.
Чтобы использовать API, нужно сначала зарегистрироваться на сайте. Полноценное использование API доступно только после регистрации.
Описание работы с API по обходу Cloudflare капчи
Заказчик посредством API отправляет запрос на обход капчи. В запросе нужно передать определенные параметры.
В ответ на полученный запрос сервис возвращает идентификатор капчи.
Затем, используя полученный в ответе идентификатор капчи, заказчик запрашивает решение.
Отправка запроса
При отправке запроса нужно указать всего несколько параметров. Список:
Параметр | Описание |
---|---|
key |
API ключ |
method |
turnstile - указывает, что отправляется запрос на решение Turnstile |
sitekey |
значение sitekey из страницы на которой находится капча |
pageurl |
полный URL страницы с капчей |
Пример запроса:
{
"method": "turnstile",
"key": "YOUR_API_KEY",
"sitekey": "0x4AAAAAAAC3DHQFLr1GavRN",
"pageurl": "https://2captcha.com/demo/cloudflare-turnstile",
"json": 1
}
В ответ на запрос API возвращает идентификатор капчи.
Пример ответа:
{
"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.
Пример кода:
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)
Пример запроса
{
"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
запроса.
Пример:
{
"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 |
Пример запроса:
{
"key":"YOUR_API_KEY",
"action":"get",
"id":'74327409378'
}
Если капча решена, должен вернуться ответ.
Примера ответа:
{
"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 — за 160 ₽ 1000 успешно решенных капч.
Полезные ссылки
Автоматический обход капчи Cloudflare Turnstile с помощью ruCaptcha API — отличный способ автоматизировать процесс обхода. Подробная информация об обходе капчи Cloudflare Turnstile доступна в документации по API.
Примеры работы с API на языках программирования:
Примеры кода по работе с сервисом на официальной странице в GitHub.