hCaptchaTask#


基于令牌的绕过 hCaptcha 的方法。 该方法与 reCAPTCHA V2 非常相似。 该令牌可以在 h-captcha-response 表单字段内的目标网站上使用或传递给回调函数。

HCaptchaTask 任务对象结构#

名称类型必须使用的描述
type字符串是的HCaptchaTask
websiteURL字符串是的目标网页的完整 URL,加载验证码的地方
websiteKey字符串是的hCaptcha 网站密钥。可在 hCaptcha div 元素的 `data-sitekey` 属性或向 hCaptcha API 请求的 `sitekey` 参数中找到
isInvisible布尔适用于 hCaptcha 不可见版本 - 没有选择框但会出现挑战的情况。通常与回调函数一起使用
enterprisePayload对象包含附加参数的对象,如:`rqdata`
proxyType字符串是的代理类型:`http`、`socks4`、`socks5`
proxyAddress字符串是的代理服务器 IP 地址或主机名
proxyPort整数是的代理端口
proxyLogin字符串代理登录名
proxyPassword字符串代理密码

请求示例#

API 端点: https://api.nextcaptcha.com/createTask

方法: POST

内容类型: application/json

{
    "clientKey":"api key",
    "task": {
        "type":"HCaptchaTask",
        "websiteURL":"https://hcaptcha.com/demo/hcaptcha",
        "websiteKey":"f7de0da3-3303-44e8-ab48-fa32ff8ccc7b",
        "isInvisible":false,
        "enterprisePayload": {
                "rqdata": "eyJ0eXAi"
          },
        "proxyType":"http",
        "proxyAddress":"your_proxy_address",
        "proxyPort":1234,
        "proxyLogin":"your_proxy_login",
         "proxyPassword":"your_proxy_password"
    }
}

响应示例#

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "respKey": "E0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9",
        "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299",
        "gRecaptchaResponse": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9"
    },
    "createTime": 1701234567890,
    "endTime": 1701234567890
}

示例代码#

# https://github.com/nextcaptcha/nextcaptcha-python
 
import os
import sys
from nextcaptcha import NextCaptchaAPI
 
client_key = os.getenv('NEXTCAPTCHA_KEY', "YOUR_CLIENT_KEY")
 
api = NextCaptchaAPI(client_key=client_key)
try:
  result = api.hcaptcha(website_url="https://example.com", website_key="SITE_KEY")
 
except Exception as e:
  sys.exit(e)
 
else:
  sys.exit('solved: ' + str(result))
 

相关链接#