任务类型
reCAPTCHA v3
RecaptchaV3TaskProxyless无需代理
reCAPTCHA v3 没有可见组件:网站会为每个操作打出 0.0 到 1.0 的分数。API 返回指定 pageAction 的 token;minScore 用于设置所需分数。
无需代理:我们使用自有基础设施解决。适用于目标网站不将 token 与 IP 绑定的情况。
实时指标(24 小时)
该类型的实时指标将在上线后显示在状态页上。
任务参数
| 参数 | 类型 | 必填 | 任务参数 |
|---|---|---|---|
type | string | 必填 | RecaptchaV3TaskProxyless |
websiteURL | string | 必填 | 包含验证码的页面完整 URL。 |
websiteKey | string | 必填 | 网站密钥(data-sitekey 或 anchor 请求中的 k 参数)。 |
minScore | number | 可选 | 所需分数,范围 0.1 到 0.9。分数越高,耗时越长。 |
pageAction | string | 可选 | 页面传给 grecaptcha.execute 的操作名称。 |
userAgent | string | 可选 | 解决时使用的 User-Agent;提交 token 时请使用相同的值。 |
cookies | string | 可选 | 目标网站的 Cookie,格式为 key1=value1; key2=value2。 |
示例
import time
import requests
API = "https://"
KEY = "YOUR_API_KEY"
# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
"clientKey": KEY,
"task": {
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "6Le-SITE-KEY",
"minScore": 0.7,
"pageAction": "login",
},
}).json()
if task["errorId"]:
raise RuntimeError(task["errorCode"])
# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
time.sleep(3)
res = requests.post(f"{API}/getTaskResult",
json={"clientKey": KEY, "taskId": task["taskId"]}).json()
if res["errorId"]:
raise RuntimeError(res["errorCode"])
if res["status"] == "ready":
print(res["solution"]["gRecaptchaResponse"])
break
其他任务类型
- reCAPTCHA v2
RecaptchaV2TaskProxylessUS$0.60 - reCAPTCHA v2
RecaptchaV2TaskUS$0.60 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskProxylessUS$1.50 - reCAPTCHA v2 Enterprise
RecaptchaV2EnterpriseTaskUS$1.50 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskProxylessUS$2.00 - reCAPTCHA v3 Enterprise
RecaptchaV3EnterpriseTaskUS$2.00