验证码类型 · geetest_v4
GeeTest v4 识别 API:获取 seccode 五字段
用 SolveHub API 解决 GeeTest v4 滑块验证码,获取提交给站点的五个 seccode 字段;risk_type 原样透传,仅支持 slide 类型。
适用于授权自动化测试、风控 QA 与浏览器集成。请仅在有权测试的站点和业务流程中使用。
POST /v1/tasks 发送下方 JSON,附带 Authorization: Bearer <API_KEY>、Content-Type: application/json 与 Idempotency-Key。先在实时价格确认该类型可用;完整创建与查询流程见快速开始。适用于 GeeTest v4 滑块验证码,返回提交给站点所需的五个 seccode 字段。仅支持 riskType 以 slide 开头的滑块类型;成功后在同一代理出口访问站点。
请求字段
外层 type 和 task 必填;以下 task.* 路径均位于 task 对象内。字段名区分大小写。长度限制按 UTF-8 字节计算。
| 字段 | 类型 | 必填 | 限制 | 说明 |
|---|---|---|---|---|
type |
字符串 | 是 | 固定为 geetest_v4 |
平台任务类型。 |
task |
JSON 对象 | 是 | ≤ 7 MiB | 此类型的任务参数。 |
task.type |
字符串 | 否 | 如提供必须为 geetest_v4 |
兼容旧请求格式;新接入可省略。 |
task.captchaId |
字符串 | 是 | 32 位十六进制 | 页面配置中的 captcha_id。 |
task.riskType |
非空字符串 | 否 | ≤ 512 字节 | 站点返回的 risk_type 原样传入(含 ` |
task.sessionId |
非空字符串 | 否 | ≤ 256 字节 | 作为 user_info.session_id 传给 GeeTest /load;部分站点必需。 |
task.lang |
非空字符串 | 否 | ≤ 16 字节 | /load 的组件语言,默认 eng。 |
task.websiteURL |
HTTP(S) URL | 否 | ≤ 2048 字节 | 页面地址,仅作诊断信息。 |
task.proxyType |
字符串 | 是 | http / https / socks5 |
代理协议。 |
task.proxyAddress |
非空字符串 | 是 | ≤ 256 字节 | 代理地址。 |
task.proxyPort |
字符串 | 是 | 1–5 字节,数值 1–65535 | 代理端口,必须为带引号的数字字符串。 |
task.proxyLogin |
非空字符串 | 否 | ≤ 256 字节 | 代理用户名。 |
task.proxyPassword |
非空字符串 | 否 | ≤ 256 字节 | 代理密码。 |
创建请求示例
{
"type": "geetest_v4",
"task": {
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73",
"riskType": "slide",
"proxyType": "http",
"proxyAddress": "203.0.113.10",
"proxyPort": "8080"
}
}
cURL 调用
把示例中的 Key、站点信息与代理替换为你的实际值;Idempotency-Key 对同一次业务请求保持不变。
curl -sS -X POST 'https://www.tiam.codes/v1/tasks' \
-H 'Authorization: Bearer sh_REPLACE_ME' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: example-geetest-v4-0001' \
--data-binary @- <<'JSON'
{
"type": "geetest_v4",
"task": {
"captchaId": "e392e1d7fd421dc63325744d5a2b9c73",
"riskType": "slide",
"proxyType": "http",
"proxyAddress": "203.0.113.10",
"proxyPort": "8080"
}
}
JSON
创建响应与查询
创建成功返回 HTTP 202,status 初始通常为 queued。保存 taskId,每约 2–3 秒调用 GET /v1/tasks/{taskId} 查询。本类型处理软时限为 120 秒;超过软时限可能进入 uncertain,有已受理任务的结果可继续核对,客户端不要用新幂等键盲目重建。
结果字段
只在 status=completed 时读取 solution;下表列出常用字段,实际字段以该任务响应为准。
| 字段 | 类型 | 读取方式 |
|---|---|---|
solution.captcha_id |
字符串 | 站点 captcha_id,原样回传。 |
solution.lot_number |
字符串 | 验证参数 lot_number。 |
solution.pass_token |
字符串 | 验证参数 pass_token。 |
solution.gen_time |
字符串 | 验证参数 gen_time。 |
solution.captcha_output |
字符串 | 验证参数 captcha_output。 |
solution.userAgent |
字符串 | 提交验证参数时使用同一 User-Agent。 |
把五个 seccode 字段原样提交给站点;riskType 含 | 后缀时必须完整传入,截断会导致 ERROR_BAD_PARAMETERS。
失败与排查
仅支持 riskType 以 slide 开头的滑块类型;成功率取决于代理 IP 信誉。riskType 截断、captchaId 非 32 位十六进制或代理不可用会直接失败。
创建请求常见错误为 400 INVALID_TASK、402 INSUFFICIENT_BALANCE、429 TASK_LIMIT_EXCEEDED 和 503 TYPE_UNAVAILABLE。已创建任务失败时公开错误码为 TASK_FAILED 或 TASK_TIMEOUT;uncertain 对应 TASK_UNCERTAIN。详见 平台 API 参考。
处理窗口从任务创建起算;平台在约 90 秒后放弃未完成的任务且不收费。
相关文档
最近更新: