API решения reCAPTCHA отличается от siteverify

Автор: solvethree3 мин на чтение

Нет — эндпоинт Google siteverify не может выдать токен ответа reCAPTCHA. Он проверяет токен, предоставленный клиентом. Оценки Enterprise также оценивают существующий токен; ни один из этих эндпоинтов не генерирует его из ключа сайта.

На этой странице

Выберите API под свою задачу

Генерация и проверка токенов — разные операции.
Генерация и проверка токенов — разные операции.
APIЧто вы передаетеЧто вы получаете
Google siteverifyСуществующий токен ответаРезультат проверки
Оценки Google EnterpriseСуществующий токен ответаОценка этого токена
Задачи solvethreeИмя хоста поддерживаемого сайта, действие и конфигурация проксиЗадача, готовый результат которой содержит токен решения

В стандартном процессе Google reCAPTCHA v3 клиентский SDK создаёт токен ответа, а бэкенд владельца сайта проверяет его с помощью siteverify. В процессе Enterprise клиентский SDK создаёт токен, а бэкенд создаёт оценку.

Если вы добавляете проверку на собственный сайт, используйте соответствующий процесс Google. Если вам нужен сервис решения CAPTCHA для поддерживаемого целевого сайта, используйте API задач solvethree. Сервис решения предоставляет токен для проверки целевым сайтом, но не заменяет проверку на его стороне.

Как выглядит реальный запрос на решение CAPTCHA

Сначала убедитесь, что для целевого сайта есть активный профиль, доступный вашему рабочему пространству. Передача имени хоста и действия не создаёт профиль. Если это условие ещё не выполнено, воспользуйтесь руководством по настройке профиля сайта.

Создайте задачу с помощью POST /v1/tasks в API solvethree, указав Authorization: Bearer, а затем API-ключ рабочего пространства. Храните этот ключ на сервере.

reCAPTCHA Enterprise · структура запроса
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}

Замените имя хоста, действие и прокси из примера значениями для вашего целевого запроса. site — это имя хоста, а не полный URL. Запросы reCAPTCHA требуют ровно одно из полей: proxy или proxyCandidates; не добавляйте type или url. В этом примере используется значение recaptchaType по умолчанию — enterprise-v3; шлюз также принимает v3.

Получите задачу с помощью GET /v1/tasks/:id. Продолжайте опрос, пока её статус — pending или solving. Только статус ready содержит пригодное для использования решение. Если статус изменится на failed, прекратите опрос и проверьте errorCode и error.

Не расходуйте токен Enterprise на тестовую оценку

В документации Google указано, что токены ответа Enterprise для сайтов действуют две минуты и могут быть оценены только один раз. Запрашивайте решение незадолго до защищённого запроса. Создание оценки только ради проверки работоспособности токена может израсходовать его до того, как им воспользуется целевой сайт.

Отправляйте целевому сайту solution.token, а не ID задачи. Используйте возвращённые параметры браузера userAgent и secChUa вместе с прокси, через который удалось решить CAPTCHA. Смена прокси или смешивание несвязанных заголовков браузера может привести к сбою последующего запроса.

Статус задачи ready означает, что решение доступно, а не что целевой сайт принял запрос вашего приложения. Определяйте, принят ли запрос, по ответу целевого сайта, а не по созданию или готовности задачи.

Запустите первую задачу.

Начните с $5 на балансе рабочего пространства.

Создать рабочее пространство
API решения reCAPTCHA отличается от siteverify · solvethree