Перейти к содержимому
СтатусПанель

Типы задач

Cloudflare Turnstile

Эта страница переведена с китайской версии машинным переводом и может содержать ошибки. Приоритет имеет китайская версия.

ИллюстрацияTurnstile встроен в форму. Чаще всего проверка проходит сама и показывает галочку; страница при этом не переходит на другой адрес.

Задача Cloudflare Turnstile возвращает токен (token), который нужно отправить на целевой сайт для прохождения проверки. TurnstileTaskProxyless стоит 25 pts (≈ $3.75 / 1k) за задачу и работает асинхронно: сначала createTask, затем getTaskResult каждые 5 секунд. При неудачном распознавании и по тайм-ауту баллы возвращаются автоматически.

POSThttps://api.yescaptcha.com/createTaskГлобальный endpoint
POSThttps://cn.yescaptcha.com/createTaskEndpoint для Китая

Тело запроса — JSON, авторизация по clientKey. Результат нужно запрашивать на том же endpoint, где создана задача.

В форме на странице встроено окно проверки Cloudflare («Подтвердите, что вы человек»), а страница загружает скрипт challenges.cloudflare.com/turnstile.

Если Cloudflare закрывает всю страницу и показывает «Подождите…» или «Проверяем ваш браузер», это страница проверки Cloudflare, а не Turnstile. Используйте Страница проверки Cloudflare. Различия описаны в разделе Как определить тип капчи.

Тип задачиЦенаРежимПримечания
TurnstileTaskProxyless$3.75 / 1k; 25 pts/задача · ¥25 / 1kАсинхронный
TurnstileTaskProxylessM1$4.50 / 1k; 30 pts/задача · ¥30 / 1kАсинхронный
TurnstileTask$3.75 / 1k; 25 pts/задача · ¥25 / 1kАсинхронныйСвой прокси

Цены в долларах США являются оценочными и рассчитаны по курсу 1 USD ≈ ¥6.67; списание за задачи производится в баллах.

  • TurnstileTaskProxyless и TurnstileTaskProxylessM1 имеют одинаковые параметры, но разные маршруты; их можно использовать как резервные друг для друга.
  • TurnstileTask загружает капчу через ваш собственный прокси, поэтому нужно передать поля прокси.
ПолеТипОбязательноеОписание
typestringДаТип задачи; см. «Типы задач и цены» на этой странице
websiteURLstringДаПолный URL страницы, на которой показывается капча. Укажите сайт, на котором вы видите капчу, а не домен поставщика капчи
websiteKeystringДаКлюч сайта Turnstile (sitekey), обычно начинается с 0x
pageActionstringНетЗначение action, которое страница передаёт в Turnstile (параметр turnstile.render или data-action на элементе виджета), например login. В большинстве случаев не требуется; добавляйте его, только если задачи продолжают завершаться неудачей
datastringНетЗначение cData, которое страница передаёт в Turnstile (параметр turnstile.render или data-cdata на элементе виджета), например c0bd4b36-7419-4e18-83c6-378699f2a9a2. В большинстве случаев не требуется; добавляйте его, только если задачи продолжают завершаться неудачей
proxyTypestringНекоторые типыПротокол прокси: http, https, socks4 или socks5 (Обязательно для TurnstileTask)
proxyAddressstringНекоторые типыIP-адрес или имя хоста прокси. Локальные или частные адреса, например 127.0.0.1 или 192.168.x.x, не подойдут, так как наши серверы не могут до них достучаться (Обязательно для TurnstileTask)
proxyPortintegerНекоторые типыПорт прокси (Обязательно для TurnstileTask)
proxyLoginstringНетИмя пользователя прокси, если прокси требует аутентификации (только TurnstileTask)
proxyPasswordstringНетПароль прокси, если прокси требует аутентификации (только TurnstileTask)
userAgentstringНетUser-Agent браузера. Если в результате есть userAgent, используйте это значение при отправке токена (только TurnstileTask)

websiteKey обычно начинается с 0x. Как его найти, см. Поиск параметров Turnstile.

В большинстве случаев достаточно websiteURL и websiteKey, эти два параметра не нужны. Если вы уверены, что websiteURL и websiteKey верны, а задача всё равно не проходит, проверьте, передаёт ли страница в Turnstile action и cData (параметры turnstile.render или атрибуты data-action и data-cdata на элементе окна проверки). Если передаёт, укажите их без изменений:

  • pageAction: action со страницы, например login
  • data: cData со страницы, например c0bd4b36-7419-4e18-83c6-378699f2a9a2
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY",
"pageAction": "login",
"data": "c0bd4b36-7419-4e18-83c6-378699f2a9a2"
}
}
POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}
curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "TurnstileTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAA_SITE_KEY"
}
}'
# Returns {"errorId":0,"taskId":"..."}; then poll every 5 seconds:
curl -s https://api.yescaptcha.com/getTaskResult \
-H 'Content-Type: application/json' \
-d '{"clientKey": "YOUR_CLIENT_KEY", "taskId": "TASK_ID"}'

Замените websiteURL и websiteKey значениями целевого сайта.

{
"errorId": 0,
"status": "ready",
"solution": {
"token": "0.ufq5RgSVZd11DPSX1brdrxnEs28KcVlKj2ORchqxSy2q9yAW6ciq3hriXDF4x...",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36"
}
}
ПолеТипОписание
tokenstringТокен, который нужно отправить на целевой сайт. Одноразовый; отправьте его как можно скорее
userAgentstringUser-Agent, использованный при получении токена. Используйте это значение при отправке токена, даже если оно отличается от переданного вами

Подставьте token в поле cf-turnstile-response на странице (или в поле, которое требует API сайта) и отправьте запрос, используя возвращённый userAgent в качестве User-Agent.

Пока задача выполняется, возвращается {"errorId": 0, "status": "processing"}; повторите запрос через 5 секунд. Ошибки обрабатывайте по errorCode, см. Коды ошибок.

Токен одноразовый, отправляйте его как можно скорее после получения (токены Turnstile обычно истекают через несколько минут, это определяет Cloudflare).

После отправки сайт всё равно не принимает токен

Заголовок раздела «После отправки сайт всё равно не принимает токен»

Убедитесь, что websiteURL — это страница с окном проверки, websiteKey указан верно, а при отправке используется возвращённый userAgent. Если страница передаёт action и cData, добавьте их как pageAction и data, см. выше раздел «Если задача не проходит: pageAction и data». Если сайт дополнительно проверяет IP, используйте TurnstileTask и отправляйте токен через тот же прокси.