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

Типы задач

reCAPTCHA v2

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

ИллюстрацияreCAPTCHA v2: флажок «Я не робот». После клика флажок либо сразу отмечается, либо открывается задание с изображениями.

Задача reCAPTCHA v2 возвращает токен (gRecaptchaResponse), который нужно отправить на целевой сайт, чтобы пройти проверку, без выбора картинок. Самый популярный тип NoCaptchaTaskProxyless стоит 15 pts (≈ $2.25 / 1k) за задачу и работает асинхронно: создайте задачу через createTask, затем вызывайте getTaskResult каждые 5 секунд, пока не получите результат. При неудаче или тайм-ауте баллы возвращаются автоматически.

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

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

  • На странице есть флажок «Я не робот» (I’m not a robot): обычная версия.
  • Флажка нет, а задание с картинками появляется только после нажатия кнопки отправки: невидимая версия, добавьте "isInvisible": true.
  • Страница загружает recaptcha/enterprise.js или в адресах запросов есть enterprise: Enterprise-версия, используйте типы со словом Enterprise в названии.

Если не уверены, какая версия у вас, см. Как определить тип капчи. Если токены проходят недостаточно часто, попробуйте распознавание изображений reCAPTCHA v2: API сообщает, по каким картинкам нужно кликнуть, а клики вы выполняете в браузере сами.

Тип задачиЦенаРежимПримечания
NoCaptchaTaskProxyless$2.25 / 1k; 15 pts/задача · ¥15 / 1kАсинхронный
RecaptchaV2TaskProxyless$3.00 / 1k; 20 pts/задача · ¥20 / 1kАсинхронныйТе же параметры, что у NoCaptchaTaskProxyless, но другой маршрут; можно использовать любой из них как резервный
NoCaptchaTask$2.25 / 1k; 15 pts/задача · ¥15 / 1kАсинхронныйСвой прокси
RecaptchaV2EnterpriseTaskProxyless$3.00 / 1k; 20 pts/задача · ¥20 / 1kАсинхронный
RecaptchaV2EnterpriseTask$3.00 / 1k; 20 pts/задача · ¥20 / 1kАсинхронныйСвой прокси

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

  • NoCaptchaTaskProxyless и RecaptchaV2TaskProxyless принимают одинаковые параметры, но работают по разным маршрутам. Если один проходит недостаточно часто, попробуйте другой.
  • Типы без Proxyless в названии (NoCaptchaTask, RecaptchaV2EnterpriseTask) загружают капчу через ваш прокси и требуют поля proxyType, proxyAddress, proxyPort и другие. Используйте их, если целевой сайт проверяет IP посетителя.

Поля объекта task в createTask:

ПолеТипОбязательноеОписание
typestringДаТип задачи; см. «Типы задач и цены» на этой странице
websiteURLstringДаПолный URL страницы, на которой показывается капча. Укажите сайт, на котором вы видите капчу, а не домен поставщика капчи
websiteKeystringДаКлюч сайта (sitekey), его можно найти в исходном коде страницы или в сетевых запросах; обычно не меняется
isInvisiblebooleanНетПередайте true для невидимого варианта; в остальных случаях не передавайте
proxyTypestringНекоторые типыПротокол прокси: http, https, socks4 или socks5 (Обязательно для NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyAddressstringНекоторые типыIP-адрес или имя хоста прокси. Локальные или частные адреса, например 127.0.0.1 или 192.168.x.x, не подойдут, так как наши серверы не могут до них достучаться (Обязательно для NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyPortintegerНекоторые типыПорт прокси (Обязательно для NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyLoginstringНетИмя пользователя прокси, если прокси требует аутентификации (только NoCaptchaTask, RecaptchaV2EnterpriseTask)
proxyPasswordstringНетПароль прокси, если прокси требует аутентификации (только NoCaptchaTask, RecaptchaV2EnterpriseTask)
userAgentstringНетUser-Agent браузера. Если в результате есть userAgent, используйте это значение при отправке токена (только NoCaptchaTask, RecaptchaV2EnterpriseTask)
enterprisePayloadobjectНетДополнительные параметры Enterprise-версии, например значение s для reCAPTCHA Enterprise: {"s": "..."}. Не передавайте, если страница их не использует (только RecaptchaV2EnterpriseTaskProxyless, RecaptchaV2EnterpriseTask)

Как найти websiteURL и websiteKey, см. Как найти параметры reCAPTCHA.

На примере официальной демо-страницы Google:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}

Полный код: создаёт задачу, опрашивает результат каждые 5 секунд и выводит токен. Перед запуском поместите ClientKey в переменную окружения YESCAPTCHA_CLIENT_KEY:

curl -s https://api.yescaptcha.com/createTask \
-H 'Content-Type: application/json' \
-d '{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}
}'
# 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"}'

Для Enterprise-версии, если страница передаёт в reCAPTCHA значение s, укажите его в enterprisePayload:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "SITE_KEY_OF_THE_PAGE",
"enterprisePayload": {
"s": "S_VALUE_FROM_THE_PAGE"
}
}
}

Со своим прокси:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "NoCaptchaTask",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
"proxyType": "http",
"proxyAddress": "proxy.example.com",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass"
}
}

createTask возвращает ID задачи:

{
"errorId": 0,
"taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

Передайте его в getTaskResult. Пока задача выполняется, возвращается {"errorId": 0, "status": "processing"} — повторите запрос через 5 секунд. Когда задача готова:

{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..."
}
}
ПолеТипОписание
gRecaptchaResponsestringТокен, который нужно отправить на целевой сайт. Одноразовый, действителен около 120 секунд; используйте его в течение 60 секунд

Задача выполняется не более 110 секунд; по истечении возвращается ERROR_TASK_TIMEOUT, а баллы возвращаются. При ошибке errorId равен 1, обрабатывайте её по errorCode, см. Коды ошибок. Как отправить токен, см. Как отправить токен reCAPTCHA.

Почему токены для одного и того же сайта иногда проходят, а иногда нет?

Заголовок раздела «Почему токены для одного и того же сайта иногда проходят, а иногда нет?»

Решение принимает целевой сайт. Он оценивает каждую проверку и сравнивает с порогом, который может изменить в любой момент, поэтому доля успешных проверок зависит от сайта, и не каждый токен проходит. Сравните результаты с другим типом задачи для той же капчи или перейдите на распознавание изображений.

Токен одноразовый и действителен около 120 секунд; рекомендуем отправить его в течение 60 секунд после получения. Срок задаёт Google.

Списываются ли баллы, если решить не удалось?

Заголовок раздела «Списываются ли баллы, если решить не удалось?»

Нет. Для задач с ответом ERROR_CAPTCHA_UNSOLVABLE или с тайм-аутом возврат баллов происходит автоматически, см. Тарификация и возврат баллов.