hCaptcha 协议识别 API 对接说明

hCaptcha 协议识别 API 对接说明

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

接下来介绍下 hCaptcha 协议识别 API 的对接说明。

申请流程

要使用 API,需要先到 hCaptcha 协议识别 API 对应页面申请对应的服务,进入页面之后,点击「Acquire」按钮,如图所示:

如果你尚未登录或注册,会自动跳转到登录页面邀请您来注册和登录,登录注册之后会自动返回当前页面。

在首次申请时会有免费额度赠送,可以免费使用该 API。

基本使用

首先先了解下基本的使用方式,就是输入需要处理 hCaptcha验证码的网站URL,便可获得处理后的结果,首先需要简单地传递一个 website_url 字段,我们的示例网站是:https://accounts.hcaptcha.com/demo,我们需要在 website_url 页面中获取 website_key,首先需要打开这个网页,按F12进入控制台,最后在Element页面进行全局搜索 hcaptcha-demo,我们可以得到下面的结果:

其中 data-sitekey 对应的一串字符串便是 website_key的值,下面是具体的参数结果:

可以看到这里我们设置了 Request Headers,包括:

  • accept:想要接收怎样格式的响应结果,这里填写为 application/json,即 JSON 格式。
  • authorization:调用 API 的密钥,申请之后可以直接下拉选择。

另外设置了 Request Body,包括:

  • website_url:需要处理验证码的网站URL。
  • website_key:在hCaptcha中的网站密钥标识符。

选择之后,可以发现右侧也生成了对应代码,如图所示:

点击「Try」按钮即可进行测试,如上图所示,这里我们就得到了如下结果:

{
  "token": "xxxxx"
}

返回结果一共有多个字段,介绍如下:

  • token,此次 hCaptcha验证码 任务处理后验证结果。

可以看到我们得到了处理 hCaptcha验证码 的验证结果,然后我们可以用于POST或模拟提交给目标网站,一次性使用,有效期120s,建议在60s内使用,接下来将提供一段CURL版本将处理后token提交到目标网站来通过Recaptcha2验证码。

首先我们需要获取网站是如何发送POST请求,这样我们才能将生成的token传入进去,我们需要先打开F12控制台,然后人工先通过一下,最后我们可以看到网站发送了一个POST请求,我们只需要查看这次的POST请求构造,具体的过程如下:

  • 先人工通过验证,具体的如下图:

  • 再点击submit,观看控制台的network变化,具体的如下图:

  • 分析此次提交的POST请求构造,最后可以右键该请求复制CURL的代码,具体的如下图:

由上图分析可知,此次POST请求的URL为:https://accounts.hcaptcha.com/demo,我们仅需要提交参数 g-recaptcha-responseh-captcha-responseemail,然后我们只需要将处理后的token传入下面的data中即可,调用token验证所对应CURL代码如下:

curl 'https://accounts.hcaptcha.com/demo' \
  --data-raw 'email=&g-recaptcha-response={token}&h-captcha-response={token}'

调用token验证所对应的Python代码如下:

import requests

token = '{token}'

data = {
    'email': '',
    'g-recaptcha-response': token,
    'h-captcha-response': token
}

response = requests.post('https://accounts.hcaptcha.com/demo',
                        data=data)

if response.status_code == 200:
    print(response.text)

然后我们观察控制台变得了这样的结果:

最后我们就通过了hCaptcha验证码的验证。

另外如果想生成对应的对接代码,可以直接复制生成,例如 CURL 的代码如下:

curl -X POST 'https://api.acedata.cloud/captcha/token/hcaptcha' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "website_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
  "website_url": "https://accounts.hcaptcha.com/demo"
}'

Python 的对接代码如下:

import requests

url = "https://api.acedata.cloud/captcha/token/hcaptcha"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "website_key": "a5f74b19-9e45-40e0-b45d-47ff91b7a6c2",
    "website_url": "https://accounts.hcaptcha.com/demo"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

错误处理

在调用 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.

错误响应示例

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

结论

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

关于 hCaptcha 的运营情况,根据提供的引用内容,我无法直接获得相关信息。引用提供了关于如何验证 hCaptcha 令牌的代码和使用方法,引用介绍了 hCaptcha 的 React 组件库,引用提供了关于 hCaptcha API 的转换表。据此,我们可以得知 hCaptcha 是一个用于验证令牌和保护用户隐私的工具,并且提供了相应的开发工具和组件库供开发者使用。但是关于 hCaptcha 的具体运营情况,还需要进一步的调查和了解。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [node-hcaptcha:验证 hCaptcha 令牌有效性](https://download.csdn.net/download/weixin_42116604/20685548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [react-hcaptcha:用于ReactJS的hCaptcha组件库](https://download.csdn.net/download/weixin_42130889/18651552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [hcaptcha-i18n:hCaptcha API的转换表](https://download.csdn.net/download/weixin_42126668/16764994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值