申请流程
要使用 hCaptcha 图像识别 API,首先到 Ace Data Cloud 控制台 获取您的 API Token,留作备用。
如果你尚未登录或注册,会自动跳转到登录页面邀请你注册和登录,完成后会自动返回当前页面。
一个 API Token 即可调用平台所有服务,无需为每个服务单独申请。 首次申请会赠送免费额度,可免费体验;额度不足时可在 控制台 充值通用余额。
📘 完整文档:hCaptcha 图像识别 API →
基本使用
首先先了解下基本的使用方式,就是输入需要处理 hCaptcha验证码图像,便可获得处理后的结果,首先需要简单地传递一个queries 字段,这个就是具体hCaptcha验证码图像,我们需要去一个有hCaptcha验证码网站中截取这个验证码图片,示例网站链接为: https://democaptcha.com/demo-form-eng/hcaptcha.html,点击复选框即可显示具体的完整验证码图片,如下图所示:

queries 字段是上文中验证码图像的截图,图片大小建议不要超过100kb,还需要对上面图片红色箭头指向的区域进行截图,并且还需要你自行压缩图片大小,并且还需要将它转换为Base64编码,如下图所示:

question,这个支持中英文翻译,可以直接传相关的识别内容,由上文网页图像中黄色箭头执行的内容可以看出 question 输入的应为 Please click on the UNIQUE object among the others.。具体的内容如下:

accept:想要接收怎样格式的响应结果,这里填写为application/json,即 JSON 格式。authorization:调用 API 的密钥,申请之后可以直接下拉选择。
queries:Base64编码的验证码图像列表。question:验证码图像相关的识别内容参数,支持直接输入中英文。

solution,此次 hCaptcha验证码图像 任务处理后验证结果。label,hCaptcha验证码图像所识别的内容。box,hCaptcha验证码图像识别结果的位置信息,它是由图像的坐标信息构成。confidences,hCaptcha验证码图像识别后满足识别内容的的置信度。
started_at、finished_at:本次请求开始处理与产出结果的时间,Unix 时间戳(秒,浮点)。elapsed:本次处理的总耗时(秒)。
box 的位置坐标信息对该验证码图像进行模拟点击该区域便可通过验证。
下面将介绍如何通过结果的 box 的位置信息如何来点击,首先是针对上传的验证码图片进行建立直角坐标系,其中中心原点在图像的左下角,360是对应的横坐标,276是对应的纵坐标,我们只需要通过模拟点击验证码对应的坐标进行点击即可,具体的图像信息如下图所示:

异步模式(async)
默认情况下 API 是同步阻塞的:一次请求会一直等待,直到识别结果处理完成才返回。如果你在做多打码器轮换(multi-solver rotation),希望「提交任务后立即拿到 task_id,先去调度其他打码器,稍后再回来取结果」,可以在请求体中传入async: true。
传入 async: true 后,接口会立即返回一个 task_id,而不会阻塞等待:
task_id 轮询 POST /captcha/tasks(建议每 3~5 秒一次)来获取结果:
status: processing:
status: ready 和识别结果 solution(字段结构与同步模式完全一致):
/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.

