Playground
Раздел Playground (боковое меню > Playground) позволяет выполнять живые API requests с вашим настоящим ключом без написания кода. Это самый быстрый способ протестировать новый целевой сайт, отладить сложный response или сравнить Single, Proxy и Browser в работе.
Откройте его по адресу foura.ai/dashboard#playground.
Что он делает
Одна форма. Три движка. Реальный трафик.
- Single: прямой HTTP-запрос с реалистичными сетевыми характеристиками, имитирующими браузер
- Proxy: управляемый запрос через ротируемые proxy
- Browser: открывает URL в инстансе браузера Chrome для сайтов с рендерингом на JS
Запросы выполняются с использованием API key, который вы выбираете в верхней части страницы. Расход учитывается в лимитах этого ключа так же, как и при рабочем вызове, поэтому не тратьте лимиты вашего тарифа впустую при тестировании.
Выбор ключа
Выпадающий список API keys показывает все активные ключи в вашей области видимости: личные ключи, ключи организаций, которые вы администрируете, и общие ключи команды, к которым у вас есть доступ. Выберите тот, на который должен списываться расход за request. Если у вас еще нет активных ключей, встроенная подсказка предложит ссылку на страницу API Keys для создания ключа.
Выбор продукта
Над формой расположены три переключателя: Single, Proxy, Browser. Переключение между ними меняет видимые поля и движок, на который поступает request. Текущий выбор сохраняется при перезагрузке страницы.
| Продукт | Когда использовать |
|---|---|
| Single | Быстрый HTTP-запрос. Лучший первый выбор для любого URL. |
| Proxy | Такой же запрос с автоматической ротацией proxy. Используйте, если Single постоянно блокируется. |
| Browser | Загружает страницу в инстансе браузера Chrome. Используйте, когда данные появляются только после выполнения JavaScript. |
Настройка request
Строка URL
Верхняя строка содержит HTTP-метод (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), целевой URL и кнопку Send. Single + Proxy поддерживают все методы. Browser игнорирует метод (Chrome всегда использует GET для навигации) и тело запроса.
Вкладки request
Под строкой URL находятся пять вкладок, позволяющих заполнить все остальные параметры:
| Вкладка | Что она контролирует |
|---|---|
| UI | Поля формы для таймаутов, редиректов, флагов, proxy, специфичных для браузера опций и правил валидации |
| Body | Произвольное тело для POST / PUT / PATCH requests |
| Headers | Пользовательские request headers в виде пар ключ-значение |
| Cookies | Cookies для отправки вместе с request |
| Raw | Точная полезная нагрузка JSON, которая будет отправлена, доступная для прямого редактирования |
Любые изменения в UI / Body / Headers / Cookies отражаются в Raw. Редактирование Raw также работает, при этом остальные вкладки обновляются для соответствия.
Разделы панели UI
Вкладка UI группирует настройки в сворачиваемые разделы. Пустые поля возвращаются к значениям по умолчанию из схемы движка.
- Timeouts:
timeout_ms,connect_timeout_ms,accept_timeout_ms,server_response_timeout_ms,dns_cache_timeout_sec - Redirects: переключение и настройка
followRedirects(0-20). Только для Single + Proxy. Browser следует редиректам самостоятельно. - Flags:
unblocker,tryJsonData,returnBuffer. Single + Proxy. - Proxy: выбор конкретного proxy ID для Single или Browser, либо настройка
maxTries, внешнего таймаута Proxy иignoreProxiesдля движка Proxy. - Browser: опции только для браузера, такие как
checkStatusиcheckText. - Validate: правила успешного прохождения или ошибки для
validate.status(коды состояния),validate.headers(правила для пар ключ-значение в headers) иvalidate.data(подстроки успешного или неудачного ответа в теле, разделенные символом|).
Поля, которые не применяются к выбранному в данный момент продукту, скрыты.
Сброс на панели инструментов
Кнопка Reset на панели инструментов (рядом с History) сбрасывает форму активного продукта до значений по умолчанию. Настройки по умолчанию оставляют включенными unblocker и tryJsonData, что соответствует наиболее распространенной отправной точке. Используйте ее, если вы сильно отклонились от рабочей базовой линии и хотите начать с чистого листа без перезагрузки страницы.
Отправка и отмена
Нажмите Send, чтобы отправить request. Во время выполнения вызова правая колонка переходит в состояние загрузки со спиннером и кнопкой Cancel. Нажмите Cancel (или нажмите кнопку еще раз на мобильном устройстве) для отмены. Отмененный request восстанавливает исходную заглушку с текстом "Request canceled." вместо отображения ошибки.
Карточка response переключается на результат в момент завершения (или сбоя) request.
Чтение response
Колонка response дублирует структуру request со своими собственными вкладками:
| Вкладка | Что она показывает |
|---|---|
| Body | Разобранное тело ответа. Переключается между режимами просмотра JSON, HTML и Text в зависимости от того, что вернулось в ответе. |
| Headers | Response headers, по одному на строку. |
| Cookies | Cookies, возвращенные целевым ресурсом, как в структурированном виде (сгруппированные по хосту), так и в исходном (текст Set-Cookie). В структурированном виде отображается значок HO для host-only cookies, cookies домена не помечаются. |
| Raw | Полный JSON-конверт, возвращенный API. |
Информационная строка над вкладками показывает HTTP-статус целевого сервера, общее время и (для запросов Proxy или single-with-proxy-id) proxy ID, который обработал вызов. Кнопки копирования и скачивания расположены в правом верхнем углу каждой панели, чтобы вы могли скопировать тело или headers в файл одним кликом.
Развертывание на весь экран
Иконка развертывания на панели инструментов response выносит карточку response из разделенного макета в полноэкранный режим. Используйте ее для глубоких деревьев JSON, длинных дампов Set-Cookie или широкого содержимого HTML, где колонка половинной ширины становится тесной. Сама страница перестает прокручиваться, пока открыт полноэкранный режим. Нажмите на иконку еще раз (или нажмите Escape), чтобы свернуть ее.
Воспроизведение через curl
Под response блок curl показывает точный эквивалент созданного вами request для командной строки. Скопируйте его, чтобы воспроизвести request из терминала, поделиться им с коллегой или вставить в отчет об ошибке.
Для ключей с возможностью отображения кнопка Reveal key рядом со сниппетом подставляет настоящий текстовый ключ прямо в curl, чтобы вы могли скопировать и запустить команду как есть. Нажмите еще раз, чтобы скрыть его. Устаревшие ключи (созданные до появления функции отображения) содержат плейсхолдер PASTE_PLAINTEXT_FOR_<key-name>. Перевыпустите ключ на странице API Keys, чтобы сделать его отображаемым.
Отображение ключа каждый раз регистрируется в журнале аудита на сервере, а сам открытый ключ хранится в памяти только в течение текущей сессии страницы.
Сохранение пресетов
Если вы обнаружите, что постоянно настраиваете один и тот же целевой ресурс, сохраните его. Нажмите Save в ряду вкладок request, чтобы сохранить текущую конфигурацию в виде именованного пресета.
Откройте Saved на панели инструментов, чтобы просмотреть, переименовать или удалить ваши пресеты. Нажмите на любой пресет, чтобы загрузить его обратно в форму.
| Поле пресета | Что оно хранит |
|---|---|
| Name | Короткую метку (до 100 символов) |
| Description | Необязательные примечания (до 500 символов) |
| Endpoint | Для какого продукта предназначен пресет (single / proxy / browser) |
| Config | Полную полезную нагрузку request, включая поля UI, headers, cookies и body |
Пресеты привязаны к вашей учетной записи пользователя и не передаются другим членам команды.
Повторный запуск из истории
Каждый запущенный вами request записывается в журнал. Откройте History на панели инструментов, чтобы просмотреть последние 20 запусков, отсортированных начиная с самых новых.
В каждой строке отображаются endpoint, целевой URL, статус и время. Нажмите Replay в любой строке, чтобы загрузить этот request обратно в форму, а затем Send, чтобы запустить его снова.
История автоматически привязывается к вашей учетной записи, вы видите только свои собственные запуски.
Открытие из журнала активности
В диалоговом окне с деталями Activity Log есть кнопка Open in Playground. Нажмите ее, и Playground загрузится как с архивным request, так и с архивным response. Форма заполнится из сохраненной полезной нагрузки, а в карточке response отобразится то, что API вернул в тот момент, с меткой "archived" в информационной строке proxy ("archived
Оттуда вы можете изменить параметр и нажать Send, чтобы отправить новый request к живому API, или просто изучить архивную полезную нагрузку без повторного запуска. Полезные нагрузки хранятся в течение 24 часов, поэтому для более старых строк Activity повторная загрузка response будет недоступна.
Советы
- Начинайте работу в Playground перед написанием кода для нового целевого ресурса. Вы за несколько секунд поймете, достаточно ли Single или вам необходим Browser.
- Сохраняйте пресет для каждого целевого ресурса, который вы регулярно парсите. Повторный запуск сохраненного пресета выполняется в один клик, тогда как восстановление request по памяти занимает гораздо больше времени.
- Используйте вкладку Cookies для отладки парсинга на основе сессий. Исходный вид Set-Cookie показывает именно то, что отправил целевой ресурс.
- Playground requests оплачиваются за счет выбранного вами ключа. Используйте выделенный ключ с небольшим лимитом для обычных тестов, если хотите сохранить статистику использования в рабочей среде чистой.
Связанные разделы
- API Endpoints: Полный справочник параметров для всех трех продуктов
- Choosing the Right Endpoint: Когда выбирать Single, Proxy или Browser
- API Keys: Управление ключами, с помощью которых вы авторизуете запросы в Playground
- Activity Log: Открытие прошлых запросов напрямую в Playground
- Dashboard Overview: Все разделы бокового меню