Тестирование CAPTCHA API в Insomnia
Создайте задачу с телом JSON, скопируйте полученный ID задачи, затем получайте эту задачу, пока её статус не станет ready или failed. Для этого теста не нужно связывать запросы через ответы.
На этой странице
Подготовьте локальную конфигурацию
Вам понадобятся API-ключ рабочего пространства, активный профиль целевого сайта и прокси. Настройте профиль сайта перед отправкой задачи: указание имени хоста и действия не создаёт профиль.
Используйте приватное локальное окружение с именем solvethree-local и перечисленными ниже переменными. Эти имена выбраны для данного руководства и не являются дополнительными полями API. Не включайте API-ключ и учётные данные прокси в общие конфигурации.
| Название | Значение |
|---|---|
api_base | https://api.solvethree.com/v1 |
api_key | Ваш приватный API-ключ рабочего пространства. |
site | Имя хоста, настроенное в активном профиле сайта, а не полный URL страницы. |
action | Действие reCAPTCHA, используемое в запросе к целевому сайту. |
proxy | URL вашего HTTP- или HTTPS-прокси без пути, строки запроса и фрагмента. |
request_id | Идентификатор этой логической задачи: 1–64 буквы ASCII, цифры, символы подчёркивания или дефисы. |
task_id | Оставьте пустым, пока ответ на запрос создания не вернёт ID задачи. |
Создайте задачу и скопируйте её ID
- 1.
Настройка запроса создания
Создайте POST-запрос, добавив
/tasksкapi_base. Добавьте параметр запросаwaitMsсо значением0. Выберите аутентификацию Bearer и укажитеapi_keyв качестве токена; запрос должен отправлять заголовокAuthorizationсо схемой Bearer. - 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. Ни один из этих статусов не содержит готового к использованию решения.
Попробуйте: Повторно отправьте GET-запрос с тем же ID задачи. Не создавайте другую задачу только потому, что эта ещё не завершена.
- Задача имеет статус
failed. Прочитайте
errorCodeиerror;site-unreachable— одна из возможных ошибок задачи.Попробуйте: Прекратите запрашивать эту задачу и устраните указанную причину, прежде чем создавать новую. Средства за неудачные решения возвращаются.
- Время ожидания запроса создания истекло, ID не получен.
Тайм-аут соединения не доказывает, что задача не была создана.
Попробуйте: Повторно отправьте то же тело задачи с тем же
requestId, чтобы восстановить существующую задачу. Изменение входных данных при повторном использовании этого ID вызывает конфликт.
Задача reCAPTCHA со статусом ready предоставляет токен. Если вы отправляете его целевому сайту, используйте возвращённые userAgent и secChUa с тем же прокси, который использовался для решения. Ответ со статусом ready подтверждает, что решение сгенерировано, а не то, что запрос вашего приложения выполнен успешно.
Источники и справочник API
Запустите первую задачу.
Начните с $5 на балансе рабочего пространства.