getTaskResult 获取结果
getTaskResult 查询异步任务的结果。创建任务后每 5 秒调用一次:返回 processing 就继续等,返回 ready 时结果在 solution 里,返回错误就停止。查询不扣点,查多少次都一样。
POST
https://api.yescaptcha.com/getTaskResult国际节点POST
https://cn.yescaptcha.com/getTaskResult国内节点| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
clientKey |
string | 是 | 账户密钥,和创建任务时用的相同 |
taskId |
string | 是 | createTask 返回的任务 ID |
{ "clientKey": "YOUR_CLIENT_KEY", "taskId": "61138bb6-19fb-11ec-a9c8-0242ac110006" }| 情况 | 返回 | 怎么做 |
|---|---|---|
| 处理中 | {"errorId": 0, "status": "processing"} |
5 秒后再查 |
| 完成 | {"errorId": 0, "status": "ready", "solution": {...}} |
取 solution,solution 的字段见各任务类型页 |
| 识别失败 | {"errorId": 1, "errorCode": "ERROR_CAPTCHA_UNSOLVABLE", ...} |
已自动退点,可以重新创建任务 |
| 超时 | {"errorId": 1, "errorCode": "ERROR_TASK_TIMEOUT", ...} |
已自动退点,可以重新创建任务 |
| 任务不存在或已过期 | {"errorId": 1, "errorCode": "ERROR_TASKID_INVALID", ...} |
停止查询这个 taskId |
完成时的例子(reCAPTCHA v2):
{ "errorId": 0, "status": "ready", "solution": { "gRecaptchaResponse": "03AGdBq25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU..." }}- 每 5 秒查一次。 同一个
taskId5 秒内的重复查询直接返回processing,查得更勤不会更快。 - 任务最长处理约 110 秒(少数类型 180 到 220 秒),超时返回
ERROR_TASK_TIMEOUT并自动退点。程序里的等待上限建议设为 3 分钟左右。 - 结果保留约 10 分钟,之后
taskId失效,返回ERROR_TASKID_INVALID。拿到结果要尽快使用:token 本身的有效期更短(reCAPTCHA 约 120 秒)。 - 出错就停。 返回
errorId: 1后继续查同一个taskId结果不会变;同一个已结束的任务被查到第 3 次起,errorDescription末尾会提示停止轮询。ERROR_TASKID_INVALID计入 自动暂停 的错误次数(同一个 ID 只算第一次)。 - 在哪个节点创建的任务,就到哪个节点查询。
getTaskResult不受自动暂停影响:暂停前已创建的任务照常可以查。