HCaptcha 协议接口
⚠️ 通过 createTask 创建任务, 然后通过 getTaskResult 获取识别结果
现在我们已满足几乎所有高分数网站要求,并同时支持invisible
draw a box
等问题类型
任务类型type
如下
HCaptchaTask
必须传入代理HCaptchaTaskProxyLess
无需代理或已内置代理HCaptchaEnterpriseTask
必须传入代理HCaptchaEnterpriseTaskProxyLess
无需代理或已内置代理HCaptchaTurboTask
必须转入代理,特定极高分数网站使用此类型HCaptchaTurboTaskProxyLess
拥有更稳定的代理,通过率更高
推荐使用企业版 通常使用 HCaptchaEnterpriseTask
或者HCaptchaTurboTask
任务类型将具有独立ip池和指纹库,它具有高分数,高匿名性,
能够接受大规模请求的考验。
个别分数要求极高的网站请使用 HCaptchaTurboTask
或者HCaptchaTurboTaskProxyLess
任务类型,此类型专门解决特定网站高分数要求,在套餐中不提供此任务类型
创建任务
通过 createTask 创建任务
参数结构
属性 | 类型 | Required | 说明 |
---|---|---|---|
type | String | Required | HCaptchaTask HCaptchaTaskProxyLess HCaptchaEnterpriseTask HCaptchaEnterpriseTaskProxyLess HCaptchaTurboTask HCaptchaTurboTaskProxyLess |
websiteURL | String | Required | hCaptcha 网页地址,一般固定值。 |
websiteKey | String | Required | hCaptcha 网站密钥,固定值。 |
isInvisible | Boolean | Optional | Set true if it's a invisible captcha |
proxy | String | Optional | 学习如何使用代理 |
enableIPV6 | Boolean | Optional | 如果你的代理是ipv6,请设置为true |
enterprisePayload | Object | Optional | 在hCaptcha企业版的某些实现中使用的自定义数据。在大多数情况下,您将其视为网络请求中的rqdata。 注意:如果你提交带有data参数的验证码,你可能需要提供userAgent,该值应该与您在与目标网站交互时使用的User-Agent相匹配。 |
userAgent | String | Optional | request 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 方法获取识别结果
根据系统负载,您将在 1s
到 20s
的时间间隔内得到结果
请求示例
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)
}