Skip to main content
本文将介绍一种 Recaptcha3 协议识别 API 对接说明,它可让用户无需识别和点选 Recaptcha3 验证码图片,仅需通过提交 Website Key 即可实现后台自动解码,完成验证。

申请流程

要使用 Recaptcha3 协议识别 API,首先到 Ace Data Cloud 控制台 获取您的 API Token,留作备用。 如果你尚未登录或注册,会自动跳转到登录页面邀请你注册和登录,完成后会自动返回当前页面。 一个 API Token 即可调用平台所有服务,无需为每个服务单独申请。 首次申请会赠送免费额度,可免费体验;额度不足时可在 控制台 充值通用余额。
📘 完整文档:Recaptcha3 协议识别 API →

基本使用

首先先了解下基本的使用方式,与Recaptcha2相比,我们需要额外传入一个参数 page_action,这个参数的获取需要去代码中获取,本次展示的网速URL为:https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php,下面展示一种获取的方法:

快捷方法:

打开 f12 ,然后在Element页面中搜索 .execute( ,在红色框框区域我们可以看到有 action 参数,同时execute后面还跟着一串字符串,这也是下文需要的内容,具体的如下图所示,。

其次还需要输入需要处理验证码的网站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_atfinished_at:本次请求开始处理与产出结果的时间,Unix 时间戳(秒,浮点)。
  • elapsed:本次处理的总耗时(秒)。
可以看到我们得到了处理 Recaptcha3验证码 的验证结果,然后我们可以用于POST或GET模拟提交给目标网站,一次性使用,有效期120s,建议在60s内使用。下面将简要介绍一种方式来把生成的token提交给目标网站: 调用token验证所对应的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:
计费说明:异步模式下,创建任务与轮询「处理中」都不计费;仅在成功取到结果时计费一次(与同步模式的价格一致)。因此在轮换中取消尚未完成的任务不会产生费用。/captcha/tasks 对所有验证码接口(token 与 recognition 系列)通用,用同一个 task_id 轮询即可。

错误处理

在调用 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。如有任何问题,请随时联系我们的技术支持团队。