在 Insomnia 中测试 CAPTCHA API
使用 JSON 请求体创建任务,复制返回的任务 ID,然后获取该任务,直到其状态为 ready 或 failed。本次测试不需要响应串联。
本页内容
准备本地配置
你需要工作区 API 密钥、目标站点的有效配置和代理。发送任务前,请先设置站点配置:仅提供主机名和操作不会创建站点配置。
使用名为 solvethree-local 的私有本地环境,并设置以下变量。这些名称是本教程自行选定的,并非额外的 API 字段。不要将 API 密钥和代理凭据放入共享配置。
| 名称 | 值 |
|---|---|
api_base | https://api.solvethree.com/v1 |
api_key | 你的私有工作区 API 密钥。 |
site | 有效站点配置中设置的主机名,而非完整页面 URL。 |
action | 目标请求使用的 reCAPTCHA 操作。 |
proxy | 你的 HTTP 或 HTTPS 代理 URL,不含路径、查询参数或片段。 |
request_id | 此逻辑任务的标识符:由 1–64 个 ASCII 字母、数字、下划线或连字符组成。 |
task_id | 保持为空,直到创建响应返回任务 ID。 |
创建任务,然后复制其 ID
- 1.
配置创建请求
创建 POST 请求,地址为
api_base后接/tasks。添加查询参数waitMs,值设为0。选择 Bearer 身份验证,并将api_key作为令牌;请求必须发送使用 Bearer 方案的Authorization标头。 - 2.
构建 JSON 请求体
选择 JSON 请求体,包含
site、action、proxy和requestId。前三项使用对应的本地变量填充,requestId使用request_id填充。proxy和proxyCandidates必须且只能发送其中一项;本教程使用proxy。不要添加type或url。省略recaptchaType时会选择默认值enterprise-v3。 - 3.
发送并检查响应
先检查 HTTP 响应,再将其作为成功的任务数据读取。如果创建成功,将返回的任务 ID 复制到
task_id。保留任务请求体和request_id,以便需要时恢复请求。 - 4.
获取该任务
创建 GET 请求,地址为
api_base后接/tasks/和复制的任务 ID。将waitMs设为15000,使用相同的 Bearer 密钥,并将请求体留空。手动复制 ID;本教程不依赖响应链式引用表达式。
Create task
Method: POST
URL: https://api.solvethree.com/v1/tasks?waitMs=0
Auth: Bearer Token — your private workspace key
Body: JSON — site, action, proxy and a stable requestId
Retrieve task
Method: GET
URL: https://api.solvethree.com/v1/tasks/PASTE_RETURNED_ID?waitMs=15000
Auth: Bearer Token — the same workspace key
Body: none
Keep the task's proxy in the JSON body. Insomnia's own network proxy setting
controls its API connection, not the proxy used to generate/submit the solution.决定如何处理响应
- HTTP 请求返回非成功响应。
先检查 HTTP 错误,再尝试读取成功的任务数据。
试试这样做: 修正报告的请求或身份验证问题。不要反复提交未修改的无效输入,也不要认为所有错误都意味着余额不足。
- 任务状态为
pending或solving。 这两种状态均不包含可用的解题结果。
试试这样做: 使用相同的任务 ID 再次发送 GET 请求。不要仅因该任务尚未完成就创建另一个任务。
- 任务状态为
failed。 读取
errorCode和error;site-unreachable是可能出现的任务错误之一。试试这样做: 停止获取该任务,并在开始另一个任务前解决报告的问题。解题失败会退款。
- 创建请求超时,未返回 ID。
连接超时并不能证明创建失败。
试试这样做: 使用相同的
requestId重新提交相同的任务请求体,以恢复现有任务。复用该 ID 时更改输入会导致冲突。
状态为 ready 的 reCAPTCHA 任务会提供令牌。向目标提交令牌时,请使用返回的 userAgent 和 secChUa,并使用与解题时相同的代理。就绪响应只确认已生成解题结果,并不表示你的应用请求已成功。
来源与 API 参考
运行您的第一个任务。
使用 $5 工作区额度开始体验。