Skip to content
API
hCAPTCHA
令牌

hCAPTCHA Token

⚠️

hCaptcha Token 解决功能目前暂不支持。请稍后再试或参考 hCaptcha 图片

概述

hCaptcha Token 是一种通过获取身份验证令牌来解决 hCaptcha 的方法,无需与图片交互。这是绕过 hCaptcha 的最快、最有效的方法。

🔐

hCaptcha Token 被许多网站广泛使用,如 Cloudflare、Discord、OpenSea 和许多其他服务,以防止机器人。

hCaptcha Token BBox

1. 创建任务

请求

POST https://api.achicaptcha.com/createTask

参数

参数名称数据类型是否必需描述
clientKeystringAPI密钥
task.typestringHCaptchaTaskProxyless
task.websiteURLstring包含hCaptcha的页面完整URL
task.websiteKeystringhCaptcha的站点密钥(data-sitekey)

请求示例

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HCaptchaTaskProxyless",
    "websiteURL": "https://example.com",
    "websiteKey": "10000000-ffff-ffff-ffff-000000000001"
  }
}

响应

成功时,服务器返回 errorId = 0taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. 获取结果

请求

POST https://api.achicaptcha.com/getTaskResult

参数

参数名称数据类型是否必需描述
clientKeystringAPI密钥
taskIdstring从(1)获取的TaskId

请求示例

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

响应

{
  "errorId": 0,
  "status": "ready",
  "solution": "P1_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.hKdwYXNza2V5xQbWjeEJ6Tk1wkaXoYkbJ-QT3vPKAXg2xbxRdxNPLFQlE4Dt2qJrlhsClaZ2dHmZ7IwoU6Wt8p7VDr6JCeco-KkjsEAHjYrCvuZ3xQnyr1VFjp_xq98KcdvmCUd7xrociy1smgTL2CsOVoe_kKfGJcMmjrzHf3fz3OLfhSKDeUtC3VdD6Lz2MHRpyb4rqIpJrCuZ1YGpeMNSWfGeIx1JlPrbC11ceQNJMl_hHhvn7HZ_8OZZKKdTfSX9e5RE8AHlzhqdqI6xHaveYKZC8PyrjRcNv1Ano5_ZXWFT-o3tlXIYZsICi1aStTk2prwIh5-jVnL2XGbWHYhDhQ6-oJGeHmQLoGm_B7dQ5BaPx9NC-x2ub3Az37QzUIi98yIw7Fv8mVYhO-ZQPN98iWojiYDscZ0WspIyD4wQyDgE37m6PWhx0WB0RYEN_bUOwtiZ_2CplM7uiH9VV5hvyEg-RpY_A494J5cAbaYVt2XsNLE0MPJqFRfXDhupzDlYxBIeb8k6QN9EDBj02dkFMKSl4DK8R8Rblm-B9socc39LpAj8eN4O15Fl6I01prM6oohrbBwhc_i0a_U22qnKs3uRQwUMTpCLixF4-C3Xqnk00l2HuNDXeh1wQx8SdYWrY7vk2Z_blsOYH4ty9-CvZAMbWI6mBD8BX1JK8L0hU3maFuSXPdBKvB-cfC_1TBeR7j5DIEKt2KuM74sr0BeneFAT2-jqDo1WDmPeLZBUaGb6MGwYDm6PK8U2BEzAs1SLhnnTIky90si443KQlnZFoe4RiiOIbvMd1l0r3B1OqEa4WAgRdh51fTTTj-kkPndvf59EfZrNmhLDcrdr1d-pkWyXhnzGIEXV8zK8VDzgBqm69pZ8CkmVLP3fhab6MXvLITmDRAxE7IQZfz4TfBjKgMCOk19cdgk1qFLQaVQ49yuGdflnB4-o4f7aC3ga7w9M3m-hAOy_mFweVrSVP9KxPVm5PZr1ocVb5y4wGYNfj2w9xYNew6oeFkW2jTOgElMJfrh7k7ZunHRsoF4fiixWM1Sv64yGVl3aV3xtrYfXDbiE3ycNpaSwn5nj_lqenaJ9KiYF9KfqPUYTsGEOun_8I1zeUyD6CSu0xDKHHMZ8gzXxOiB11EezdLn_agqneWbmD7UN9URXrgry_NSSrdmJe2ZM84smAgWxfCNvKIyC3lAXSaOcXOmGQTf35aQYARrAuII4gOxSwZXBGJWoKbZNFK_6pYKySB_OL_2s-Do0EdoL1Z1t0Y4FMKDZaZStwRA821kqfzqOLBbkVVhxvYZXvDFeNtBKYK09OmmhQ51bRyGSPEG4cGJ_xOBjepl9ITp6ZryAPDClelD5IKeCqenzKiEZZB0gEWBLNPgybBowc-tgj-iNRYK-Sy6gZ_bfIaepwoIguognuFCz1wufgSy8L_5M4ZcVjB-dhYt6ZrHyo95UakhQagIRFYY8QgOsyXsGC0WAv_6wV8vicwohMrapPbAUYmeCXIcMP7ad1aiaKlWnJuMTfrSd5kqkmhqpw4l4A2uZ87_wg3WGiTHCYid7MUPk9v1ADqGO27YwfBr1Q4gHVYVDRbP1oUKdN0MGrSu6Egg8jwI8gjYwZXckvjuP8DdWxPQwbfXceFASecaek1FZwuz6a1pFcMisAVS8K93iTQ40aacH4BQBM3-c9ggV4W9In6KoVED3huRapy6lvlscKTwKqRGf1P-mlcv17XRuQgXdTkCnHUMg3QrlDdPc4HFwGwG1EjFHiVl0uC3MWHMjNmRWP__t6u-lLhbjiYckMdjokwxbDpJI1lkywqkQ3XTHtWI9UeUfoUh4tvYWNLanRzrkStzHqC6VkHENMt92VmQXWbpY2bWf-gkaHYKyobbhKoHe0kPg66ahIsyP1VIhfsEARsKSzomo1HECydBObyZVnwnIheZSylJQnoax1cWtt-p5fjU-g6DDX-aqrxnAqTNRDk5DitCJBye-DCtuPKoIxnTfnebCOP5cFi2mpsJj45Ft8ILWwOATSZrifSKB4-QFWcv1HgCA8bjjiKPeUji2KxjnLH3T-btWnQgeen2xMy42mcPtiU9oKJaWqP2qQ-Z2HLk1ZDeUs8J9DNuWDMxq-v7r6CW2KAfDduFMp8eYHRwsFNnEwJD04Le4LzvQP1Xeqwz-uRVw_SrOlbs3m2qcR54o-217uAqRZyyNrwkk3naArZjtgkSvAd2HSbxYLojAd20PkFPC6XGCPvRxyi6iA5q3MNk7kFMU0J8bNyrcI0H8jlAzf-q9Fc1YaJqfks5Hajc5FRjqxOgu6zcevSKd0DV-2HCtjQpgLZqOH7hpfCmkAIsITgMSOxL-jaNleHDOY_TcJqhzaGFyZF9pZM4VmeRUonBkAA.cC-lgBWfBLBLEh-CBylsiYlwSQFX_Cl0Xdkx8yhoMGI"
}

状态说明

  • errorId = 0status = ready:成功解决,在 solution.gRecaptchaResponse 中读取结果
  • errorId = 0status = processing:正在解决验证码,等待2秒后重试
  • errorId > 0:系统错误,返回错误代码和描述

集成示例

import requests
import time
 
def solve_hcaptcha_token(website_url, website_key, api_key='YOUR_API_KEY'):
    # 步骤1:创建任务
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'HCaptchaTaskProxyless',
            'websiteURL': website_url,
            'websiteKey': website_key
        }
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] != 0:
        raise Exception(result['errorDescription'])
    
    task_id = result['taskId']
    
    # 步骤2:获取结果
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # 等待2秒
        
        get_result_payload = {
            'clientKey': api_key,
            'taskId': task_id
        }
        
        response = requests.post(get_result_url, json=get_result_payload)
        result = response.json()
        
        if result['errorId'] != 0:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']['gRecaptchaResponse']
        
        # 如果 status == 'processing',继续循环
 
# 使用方法
website_url = 'https://example.com'
website_key = '10000000-ffff-ffff-ffff-000000000001'
token = solve_hcaptcha_token(website_url, website_key, 'YOUR_API_KEY')
print('hCaptcha token:', token)

常见错误代码

错误代码描述备注
0成功成功
1处理中处理中
2缺少必填字段缺少必填字段,请再次检查参数
3不支持的任务不支持的任务类型
4任务创建失败任务创建失败
5客户端密钥不存在API密钥不存在,请再次检查API密钥
6账户余额不足账户余额不足,请充值
7任务失败,请创建新任务任务失败,请创建新任务
8任务ID不存在任务ID不存在

最佳实践

为了在使用Achicaptcha API时获得最佳结果,请遵循以下原则:

1. 验证站点密钥

  • 发送请求前检查站点密钥
  • 确保从 data-sitekey 属性获取的站点密钥准确
  • 验证网站URL是否与包含验证码的页面匹配

2. 处理超时

  • Token有过期时间(通常为120秒)
  • 收到后立即使用token
  • 不要长时间缓存token

3. 轮询间隔

  • 在结果检查之间至少等待2秒
  • 不要用过多连续请求轰炸API
  • 设置超时以避免无限循环(建议120秒)

4. 重试逻辑

  • 对临时错误(如 ERROR_NO_SLOT_AVAILABLE)实施重试
  • 重试时使用指数退避
  • 限制最大重试次数

5. API密钥安全

  • 不要在代码中硬编码API密钥
  • 使用环境变量
  • 不要在客户端暴露API密钥

有用的链接: