hCaptcha 验证码图像识别 API 对接教程
本文将介绍一种 hCaptcha 图像识别 API 对接说明它可以通过用户输入识别的内容和 hCaptcha验证码图像最后返回需要点击的小图像的坐标完成验证。申请流程要使用 API需要先到 hCaptcha 图像识别 API https://platform.acedata.cloud/documents/c9a5cc2f-e410-425f-857a-f8700205da6c?inviter_id0d364ded-fa11-4526-85d5-833272bb696d?inviter_id0d364ded-fa11-4526-85d5-833272bb696d 对应页面申请对应的服务进入页面之后点击「Acquire」按钮如图所示如果你尚未登录或注册会自动跳转到登录页面邀请您来注册和登录登录注册之后会自动返回当前页面。在首次申请时会有免费额度赠送可以免费使用该 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.。具体的内容如下可以看到这里我们设置了 Request Headers包括accept想要接收怎样格式的响应结果这里填写为application/json即 JSON 格式。authorization调用 API 的密钥申请之后可以直接下拉选择。另外设置了 Request Body包括queriesBase64编码的验证码图像列表。question验证码图像相关的识别内容参数支持直接输入中英文。选择之后可以发现右侧也生成了对应代码如图所示点击「Try」按钮即可进行测试如上图所示这里我们就得到了如下结果{ solution: { label: Please click on the UNIQUE object among the others, box: [ 360, 276 ], confidences: 0.6354503631591797 } }返回结果一共有多个字段介绍如下solution此次 hCaptcha验证码图像 任务处理后验证结果。labelhCaptcha验证码图像所识别的内容。boxhCaptcha验证码图像识别结果的位置信息它是由图像的坐标信息构成。confidenceshCaptcha验证码图像识别后满足识别内容的的置信度。可以看到我们得到了处理 hCaptcha验证码图像 的验证结果我们只需要根据结果中box的位置坐标信息对该验证码图像进行模拟点击该区域便可通过验证。下面将介绍如何通过结果的box的位置信息如何来点击首先是针对上传的验证码图片进行建立直角坐标系其中中心原点在图像的左下角360是对应的横坐标276是对应的纵坐标我们只需要通过模拟点击验证码对应的坐标进行点击即可具体的图像信息如下图所示另外如果想生成对应的对接代码可以直接复制生成例如 CURL 的代码如下curl -X POST https://api.acedata.cloud/captcha/recognition/hcaptcha \ -H accept: application/json \ -H authorization: Bearer {token} \ -H content-type: application/json \ -d { question: Please click on the UNIQUE object among the others., queries: [iVBORw0KGgoAAAANSU.....eY85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfjBfAzOGelsQNFAAAAAElFTkSuQmCC] } }Python 的对接代码如下import requests url https://api.acedata.cloud/captcha/recognition/hcaptcha headers { accept: application/json, authorization: Bearer {token}, content-type: application/json } payload { question: Please click on the UNIQUE object among the others., queries: [iVBORw0KGgoAAAANSU.....eY85KVlzKHav28uq/WLVhL2kHUlFMKUcZbL31S8bpd0pEPKxNllXAE2wgu3uEfjBfAzOGelsQNFAAAAAElFTkSuQmCC] } response requests.post(url, jsonpayload, headersheaders) print(response.text)错误处理在调用 API 时如果遇到错误API 会返回相应的错误代码和信息。例如400 token_mismatchedBad request, possibly due to missing or invalid parameters.400 api_not_implementedBad request, possibly due to missing or invalid parameters.401 invalid_tokenUnauthorized, invalid or missing authorization token.429 too_many_requestsToo many requests, you have exceeded the rate limit.500 api_errorInternal server error, something went wrong on the server.错误响应示例{ success: false, error: { code: api_error, message: fetch failed }, trace_id: 2cf86e86-22a4-46e1-ac2f-032c0f2a4e89 }结论通过本文档您已经了解了如何使用 hCaptcha 图像识别 API 让用户输入识别的内容和 hCaptcha验证码图像最后返回需要点击的小图像的坐标完成验证。希望本文档能帮助您更好地对接和使用该 API。如有任何问题请随时联系我们的技术支持团队。

相关新闻

最新新闻

日新闻

周新闻

月新闻