PRODUCT TEST WORKSPACE
VK Captcha
Captcha verification product
VK_CAPTCHA02 / REQUEST
请求预览
POST /api/validator/create.cgi
{
"productCode" : "VK_CAPTCHA",
"adapter" : {
"image" : "BASE64_IMAGE",
"steps" : [ 5, 19, 14, 0 ]
}
}
03 / RESULT
响应示例
Task ID
—
{
"code" : 0,
"msg" : "操作成功",
"data" : {
"taskId" : "11111111-1111-4111-8111-111111111111",
"productCode" : "VK_CAPTCHA",
"state" : "SUCCEEDED",
"solution" : {
"best_step" : 2,
"solution" : [ 5, 19 ],
"answer" : "EXAMPLE_VK_FORMATTED_ANSWER",
"preview" : "BASE64_PREVIEW"
}
}
}
响应仅为示例,不是真实任务结果。提交前请替换请求中的所有示例值。
答案字段文档待补充,当前示例仅展示响应外层结构。
状态为 SUCCEEDED 后读取 data.solution。答案字段因产品而异,其他状态可能返回空对象。
04 / API REFERENCE
VK Captcha · API
创建和查询任务时,将 API Key 统一放在 HTTP apiKey 请求头中;JSON 请求体只包含业务参数。
Content-Type: application/json apiKey: YOUR_API_KEY
请求示例
{
"productCode": "VK_CAPTCHA", // 产品编码,必须与 adapter 参数匹配。
"adapter": { // 产品专属参数对象。
"image": "BASE64_IMAGE", // VK 旋转验证码图片的 Base64 内容。
"steps": [ // 来自同一次 VK captchaNotRobot.getContent 响应、与 image 配对的非负整数有序非空数组,不是最大旋转次数或角度。保持原序列。兼容包含 JSON 整数数组的旧字符串并转换为数组;单个 "3" 无效。
5,
19,
14,
0
],
"proxyLogin": "YOUR_PROXYLOGIN", // 需要代理认证时填写用户名。
"proxyPassword": "YOUR_PROXYPASSWORD" // 需要代理认证时填写密码。
}
}
请求头: apiKey: YOUR_API_KEY
注释用于说明字段,复制后得到不含注释的标准 JSON。
响应示例
{
"code": 0, // 业务返回码,0 表示成功,其他值表示错误。
"msg": "操作成功", // 结果说明,成功时可能为空。
"data": { // 响应数据,接口报错时可能为 null。
"taskId": "11111111-1111-4111-8111-111111111111", // 创建任务返回的任务 ID。
"productCode": "VK_CAPTCHA", // 产品编码,必须与 adapter 参数匹配。
"state": "SUCCEEDED", // 任务状态:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。
"solution": { // SUCCEEDED 时的产品答案;处理中或失败时为空对象。
"best_step": 2, // 完成验证所需的步骤或操作。
"solution": [ // 完成验证所需的步骤或操作。
5, // 产品返回的答案字段,按目标网站的验证协议使用。
19 // 产品返回的答案字段,按目标网站的验证协议使用。
],
"answer": "EXAMPLE_VK_FORMATTED_ANSWER", // 识别出的文字或文本答案。
"preview": "BASE64_PREVIEW" // 产品返回的答案字段,按目标网站的验证协议使用。
}
}
}
创建任务返回任务 ID 和初始状态。下方为查询接口的完成结果,也可通过 WebSocket 接收答案。
答案字段文档待补充,当前示例仅展示响应外层结构。
请求参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
productCode | string | 是 | 产品编码,必须与 adapter 参数匹配。 |
adapter | object | 是 | 产品专属参数对象。 |
adapter.image | string | 条件必填 | VK 旋转验证码图片的 Base64 内容。 |
adapter.steps | string | 条件必填 | 来自同一次 VK captchaNotRobot.getContent 响应、与 image 配对的非负整数有序非空数组,不是最大旋转次数或角度。保持原序列。兼容包含 JSON 整数数组的旧字符串并转换为数组;单个 "3" 无效。 |
adapter.redirectUri | string | 条件必填 | 刚获取的 VK 令牌挑战跳转 URL;与 image + steps 图片模式二选一。 |
adapter.userAgent | string | 条件必填 | 获取挑战时浏览器使用的 User-Agent。 |
adapter.proxyType | string | 条件必填 | 获取挑战时使用的代理协议,例如 http。 |
adapter.proxyAddress | string | 条件必填 | 获取挑战时使用的代理主机或 IP 地址。 |
adapter.proxyPort | integer | 条件必填 | 获取挑战时使用的代理端口。 |
adapter.proxyLogin | string | 否 | 需要代理认证时填写用户名。 |
adapter.proxyPassword | string | 否 | 需要代理认证时填写密码。 |
任选以下一组字段,并填完整组内字段: image + steps / redirectUri + userAgent + proxyType + proxyAddress + proxyPort
响应参数说明
| 字段 | 类型 | 说明 |
|---|---|---|
code | integer | 业务返回码,0 表示成功,其他值表示错误。 |
msg | string | 结果说明,成功时可能为空。 |
data | object | null | 响应数据,接口报错时可能为 null。 |
data.taskId | string | 创建任务返回的任务 ID。 |
data.productCode | string | 产品编码,必须与 adapter 参数匹配。 |
data.state | string | 任务状态:CREATED、SUBMITTING、PROCESSING、SUCCEEDED、FAILED、EXPIRED。 |
data.solution | object | SUCCEEDED 时的产品答案;处理中或失败时为空对象。 |
data.failure | object | omitted | 仅 FAILED 或 EXPIRED 返回的公开诊断,不含上游原始消息;按失败处理指引操作。 |
data.failure.code | string | 失败编码 |
data.failure.nextAction | string | 下一步 |
data.solution.best_step | integer | 完成验证所需的步骤或操作。 |
data.solution.solution | array | 完成验证所需的步骤或操作。 |
data.solution.solution[] | integer | 产品返回的答案字段,按目标网站的验证协议使用。 |
data.solution.answer | string | 识别出的文字或文本答案。 |
data.solution.preview | string | 产品返回的答案字段,按目标网站的验证协议使用。 |
响应
HTTP 业务响应包含 code、msg 和 data;code 为 0 表示成功。WebSocket 使用独立的消息结构。
- -1317
- API Key 无效。
- -1100 / -1101
- 请求参数错误或缺失。
- -1401
- 余额不足,请充值后再创建任务
- -1400 / -1001
- 系统或创建任务错误。