Skip to content
On this page

HCaptcha 协议接口

⚠️ 通过 createTask 创建任务, 然后通过 getTaskResult 获取识别结果

现在我们已满足几乎所有高分数网站要求,并同时支持invisible draw a box 等问题类型

任务类型type如下

  • HCaptchaTask 必须传入代理
  • HCaptchaTaskProxyLess 无需代理或已内置代理
  • HCaptchaEnterpriseTask 必须传入代理
  • HCaptchaEnterpriseTaskProxyLess 无需代理或已内置代理
  • HCaptchaTurboTask 必须转入代理,特定极高分数网站使用此类型
  • HCaptchaTurboTaskProxyLess 拥有更稳定的代理,通过率更高

推荐使用企业版 通常使用 HCaptchaEnterpriseTask或者HCaptchaTurboTask 任务类型将具有独立ip池和指纹库,它具有高分数,高匿名性,

能够接受大规模请求的考验。

个别分数要求极高的网站请使用 HCaptchaTurboTask或者HCaptchaTurboTaskProxyLess任务类型,此类型专门解决特定网站高分数要求,在套餐中不提供此任务类型

创建任务

通过 createTask 创建任务

参数结构

属性类型Required说明
typeStringRequiredHCaptchaTask
HCaptchaTaskProxyLess
HCaptchaEnterpriseTask
HCaptchaEnterpriseTaskProxyLess
HCaptchaTurboTask
HCaptchaTurboTaskProxyLess
websiteURLStringRequiredhCaptcha 网页地址,一般固定值。
websiteKeyStringRequiredhCaptcha 网站密钥,固定值。
isInvisibleBooleanOptionalSet true if it's a invisible captcha
proxyStringOptional学习如何使用代理
enableIPV6BooleanOptional如果你的代理是ipv6,请设置为true
enterprisePayloadObjectOptional在hCaptcha企业版的某些实现中使用的自定义数据。在大多数情况下,您将其视为网络请求中的rqdata。
注意:如果你提交带有data参数的验证码,你可能需要提供userAgent,该值应该与您在与目标网站交互时使用的User-Agent相匹配。
userAgentStringOptionalrequest userAgent, 通常你不需要设置此参数

请求示例

text
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
json
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HCaptchaEnterpriseTaskProxyLess",
    //HCaptchaTask,HCaptchaTaskProxyLess,HCaptchaEnterpriseTask,HCaptchaEnterpriseTaskProxyLess
    "websiteURL": "https://hcaptcha.com/",
    "websiteKey": "00000000-0000-0000-0000-000000000000",
    "invisible": true,
    // 这里是示例,具体的值你要去你的目标网站上
    "enterprisePayload": {
      "rqdata": ""
    },
    "proxy": "http:ip:port:user:pass" // socks5:ip:port:user:pass
  }
}

响应示例

json
{
    "errorId": 0,
    "errorCode": "",
    "errorDescription": "",
    "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" // 请记录此ID
}

获取结果

使用 getTaskResult 方法获取识别结果

根据系统负载,您将在 1s20s 的时间间隔内得到结果

请求示例

text
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
json
{
  "clientKey": "YOUR_API_KEY",
  "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006"
}

响应示例

json
{
    "errorId": 0,
    "errorCode": null,
    "errorDescription": null,
    "solution": {
        "userAgent": "xxx", //userAgent
        "expireTime": 1671615324290, //过期时间
        "timestamp": 1671615024290, 
        "captchaKey":"E0_xxx",
        "gRecaptchaResponse": "3AHJ....." //响应token
    },
    "status": "ready"
}

使用 SDK 请求

python
#pip install --upgrade capsolver
#export CAPSOLVER_API_KEY='...'

import capsolver
# capsolver.api_key = "..."
solution = capsolver.solve({
           "type": "HCaptchaEnterpriseTaskProxyLess",
            "websiteURL": "https://hcaptcha.com/",
            "websiteKey": "00000000-0000-0000-0000-000000000000",
           })
golang
package main

import (
	"fmt"
	capsolver_go "github.com/capsolver/capsolver-go"
	"log"
)

func main() {
	// first you need to install sdk
	//go get github.com/capsolver/capsolver-go
	//export CAPSOLVER_API_KEY='...' or
	//capSolver := CapSolver{apiKey:"..."}

	capSolver := capsolver_go.CapSolver{}
	solution, err := capSolver.Solve(map[string]any{
		"type":       "HCaptchaEnterpriseTaskProxyLess",
		"websiteURL": "https://hcaptcha.com/",
		"websiteKey": "00000000-0000-0000-0000-000000000000",
	})
	if err != nil {
		log.Fatal(err)
		return
	}
	fmt.Println(solution)
}