Skip to main content
В данной статье будет представлена инструкция по интеграции API распознавания протокола Recaptcha3, которая позволяет пользователям не распознавать и не нажимать на изображения капчи Recaptcha3, а просто отправить Website Key для автоматической декодировки на сервере и завершения проверки.

Процесс подачи заявки

Чтобы использовать API распознавания протокола Recaptcha3, сначала перейдите в консоль Ace Data Cloud и получите ваш API Token для резервного копирования. Если вы еще не вошли в систему или не зарегистрировались, вас автоматически перенаправят на страницу входа, чтобы пригласить вас зарегистрироваться и войти, после чего вы автоматически вернетесь на текущую страницу. Один API Token позволяет вызывать все услуги платформы, не нужно отдельно запрашивать для каждой услуги. При первом запросе предоставляется бесплатный лимит, чтобы вы могли попробовать бесплатно; при недостаточном лимите вы можете пополнить общий баланс в консоли.
📘 Полная документация: API распознавания протокола Recaptcha3 →

Основное использование

Сначала ознакомьтесь с основными способами использования. В отличие от Recaptcha2, нам нужно дополнительно передать параметр page_action, который необходимо получить из кода. URL для демонстрации скорости сети: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php, ниже представлен один из способов его получения:

Упрощенный метод:

Откройте f12, затем на странице Element выполните поиск по .execute(, в области красного прямоугольника мы можем увидеть параметр action, а также за ним следует строка, которая также потребуется далее, конкретно это показано на изображении ниже.

Затем необходимо ввести URL сайта, для которого нужно обработать капчу, чтобы получить обработанный результат. Сначала нужно просто передать поле website_url, а затем также необходимо ввести параметр website_key, который можно получить выше, это также строка, следующая за execute. Далее мы можем заполнить соответствующие поля на интерфейсе, как показано на изображении:

Как видно, здесь мы настроили Request Headers, включая:
  • accept: в каком формате вы хотите получить ответ, здесь указано application/json, то есть в формате JSON.
  • authorization: ключ для вызова API, после запроса можно выбрать из выпадающего списка.
Кроме того, настроен Request Body, включая:
  • page_action: необходимо получить из кода сайта с капчей.
  • website_url: URL сайта, для которого нужно обработать капчу.
  • website_key: идентификатор сайта в Recaptcha3.
После выбора можно заметить, что справа также сгенерировался соответствующий код, как показано на изображении:

Нажмите кнопку «Try», чтобы провести тестирование, как показано на изображении выше, здесь мы получили следующий результат:
Результат запроса состоит из нескольких полей, описание которых приведено ниже:
  • token — результат проверки задачи Recaptcha3.
  • started_at, finished_at — время начала обработки запроса и получения результата, Unix временная метка (секунды, с плавающей точкой).
  • elapsed — общее время обработки (в секундах).
Мы получили результат обработки проверки Recaptcha3, который можно использовать для POST или GET запросов к целевому сайту, одноразовый, срок действия 120 секунд, рекомендуется использовать в течение 60 секунд. Ниже кратко описан способ отправки сгенерированного токена на целевой сайт: Вызов кода на Python для проверки токена:
Таким образом, мы можем получить результат:
可以看到,其中 success 表示此处验证的处理结果,所有我们成功通过Recaptcha3验证码的验证。 另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:
Python 的对接代码如下:

异步模式(async)

默认情况下 API 是同步阻塞的:一次请求会一直等待,直到 token 处理完成才返回。如果你在做多打码器轮换(multi-solver rotation),希望「提交任务后立即拿到 task_id,先去调度其他打码器,稍后再回来读取结果」,可以在请求体中传入 async: true 传入 async: true 后,接口会立即返回一个 task_id,而不会阻塞等待:
如需主动查看进度,可使用该 task_id 查询 POST /captcha/tasks(建议每 3~5 秒一次)。本接口不会触发或推进任务处理;即使不查询、断网或退出客户端,服务器仍会继续处理:
处理中会返回 status: processing
处理完成会返回 status: ready 和 token:
计费说明:异步模式下,创建任务和读取「处理中」状态都不计费;客户端首次读取成功结果时计费一次(与现有行为及同步模式价格一致)。服务器会自主推进任务,但不会因为后台先完成就提前扣费。任务在 120 秒内未成功会终止为 HTTP 504 timeout,不计费。/captcha/tasks 不负责推进任务。

错误处理

在调用 API 时,如果遇到错误,API 会返回相应的错误代码和信息。例如:
  • 400 token_mismatched:Bad request, possibly due to missing or invalid parameters.
  • 400 api_not_implemented:Bad request, possibly due to missing or invalid parameters.
  • 401 invalid_token:Unauthorized, invalid or missing authorization token.
  • 429 too_many_requests:Too many requests, you have exceeded the rate limit.
  • 500 api_error:Internal server error, something went wrong on the server.

错误响应示例

结论

通过本文档,您已经了解了如何使用 Recaptcha3 协议识别 API 让用户无需识别和点选 Recaptcha3 验证码图片,仅需通过提交 Website Key 即可实现后台自动解码,完成验证。希望本文档能帮助您更好地对接和使用该 API。如有任何问题,请随时联系我们的技术支持团队。