打码服务 / reCAPTCHA v2

reCAPTCHA v2

协议接口  ·  NoCaptchaTaskProxyless

Google reCAPTCHA v2 的「我不是机器人」勾选框,返回 gRecaptchaResponse 令牌。

最常用的类型。提交后平台会用自己的服务节点去完成验证,返回一个可以直接塞进表单的 gRecaptchaResponse。不需要你提供代理。

I'm not a robot reCAPTCHA Privacy - Terms
页面上就是一个勾选框。用户点一下 → 可能弹出九宫格 → 通过后页面会拿到一个 gRecaptchaResponse 令牌。

请求

POST /v1/captcha/solve?timeout=180
Authorization: Bearer arp_xxx
Content-Type: application/json

请求参数

参数类型必填说明
typestring是固定填 NoCaptchaTaskProxyless
websiteURLstring是验证码所在页面的完整地址
websiteKeystring是页面上 data-sitekey 的值,形如 6Lc...
isInvisibleboolean否隐形 reCAPTCHA 传 true;普通勾选框不用传
userAgentstring否你提交令牌时用的 User-Agent,建议与真实请求保持一致

只传上表列出的参数即可,认证由网关自动处理。

请求示例

{
  "type": "NoCaptchaTaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}

响应示例

{
  "ok": true,
  "task_id": "2376919c-1863-11ec-a012-94e6f7355a0b",
  "ready": true,
  "took_ms": 18432,
  "price": 10,
  "balance": 990,
  "solution": { "gRecaptchaResponse": "03AGdBq27gCf7UkBFO7Nsl5OqK6kiL911..." },
  "token": "03AGdBq27gCf7UkBFO7Nsl5OqK6kiL911..."
}
怎么取结果:取 token(等价于 solution.gRecaptchaResponse),塞进表单的 g-recaptcha-response 字段。

完整调用

curl -X POST 'https://api.xiaobaicap.com/v1/captcha/solve?timeout=180' \
  -H "Authorization: Bearer arp_xxx" \
  -H 'Content-Type: application/json' \
  -d '{
         "type": "NoCaptchaTaskProxyless",
         "websiteURL": "https://example.com/login",
         "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
       }'
import requests

r = requests.post(
    "https://api.xiaobaicap.com/v1/captcha/solve",
    headers={"Authorization": "Bearer arp_xxx"},
    params={"timeout": 180},
    json={
  "type": "NoCaptchaTaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
},
    timeout=200,
)
d = r.json()
if not d.get("ok"):
    raise SystemExit(d)
print(d.get("token") or d.get("text") or d.get("objects"))

注意事项

错误

失败时返回 502,积分全额退回,可以安全重试:

{"error":"识别失败,已全额退回 10 积分:...","code":"mint_failed"}
code含义处理
insufficient_credits积分不足(402,未扣费)充值后重试
bad_request参数不合法或类型不支持(400)对照上方参数表改
mint_failed识别失败(502,已退回)退避 2~3 秒重试
rate_limited触发限流(429)按 Retry-After 退避