ВсеНовоеУлучшеноИсправлено
Улучшено

Обновление Playground, кнопка Reset и перенос параметров по запросу

При обновлении Playground исходное состояние больше не промелькивает перед тем, как появится ваше. Новая кнопка Reset (с подтверждением действия) за один раз очищает все три вкладки request, cookies и перенесенные proxy. Теперь response также может передавать свой proxy ID или User-Agent в следующий request по вашему запросу, вместо автоматического применения без вашего ведома.

Новое

Узнайте стоимость каждого request в кредитах

Каждый API response теперь содержит header x-foura-credits, показывающий стоимость этого вызова. Новый раздел Budget в Dashboard детализирует расходы кредитов по API key, домену и client IP на временном графике, а Playground показывает то же самое для каждого response, чтобы вы могли оценить нагрузку перед масштабированием.

Новое

Блог FourA теперь доступен на семи языках

Каждый пост в блоге теперь отображается на английском, болгарском, немецком, польском, вьетнамском, китайском и арабском языках. Блоки кода, markdown и ссылки сохранены, а поиск возвращает локализованные заголовки.

Улучшено

Ответы возвращают ID обработавшего их proxy

Каждый Single response теперь содержит ID proxy, который обработал request, и Browser responses делают то же самое. Это полезно для цепочек вызовов, которым нужно использовать один и тот же proxy.

Новое

Арабский язык онлайн (с RTL)

Основной сайт теперь отображается на арабском языке с полной поддержкой RTL, что увеличило список локалей до семи. Если язык вашего браузера не совпадает с языком открытой страницы, узкий баннер предложит переключить локаль.

Улучшено

Сортируемые колонки и сворачиваемая боковая панель

Нажмите на заголовок колонки в Dashboard, чтобы отсортировать ее. Работает для Activity, API Keys и сессий, сохраняется при автообновлении, а Ctrl-клик (Cmd на Mac) сбрасывает выбор. Боковая панель также сворачивается в панель иконок, чтобы освободить место для таблицы.

Новое

Browser решает интерактивный Turnstile end-to-end

Сайты, которые защищают request интерактивным challenge-виджетом (наиболее распространенным шаблоном является managed Turnstile), теперь возвращают отрендеренный HTML при вызове Browser с unblocker: true. Проверено end-to-end на известных защищенных сайтах, которые ранее возвращали страницу проверки.

Новое

Сайт и Playground на шести языках

Выберите язык с помощью иконки глобуса в header. Сайт и Playground теперь доступны на болгарском, китайском, немецком, польском, вьетнамском и английском языках, с URL с поддержкой локали, которые можно добавить в закладки или которыми можно поделиться.

Исправлено

Ограничение cross-origin доступа к API

Мы ограничили cross-origin доступ, чтобы только foura.ai мог вызывать API с credentials. Мы также усилили фильтр входных данных на metrics endpoint и удалили fallback secret, использовавшийся только для разработки. Существующие интеграции не изменятся.

Исправлено

Пользовательские правила валидации учитываются как успех

Если вы установили validate.status.accept для запроса, движок рассматривает принятый код, отличный от 200, как полный успех. В разделе активности такие запросы по-прежнему помечались как сбои, что искажало вашу статистику использования. Теперь результаты соответствуют вашим правилам валидации. Принятый код 403 отображается как успех, а не как App Fail.

Улучшено

Метки в Активности соответствуют Обзору

В Активности ранее отображались сырые строки результатов вроде Application_fail, в то время как в Обзоре использовались понятные метки (App Fail) с соответствующими цветами. Теперь в Активности используются те же метки и цвета, поэтому оба раздела читаются одинаково.

Исправлено

Страницы не в UTF-8 теперь декодируются корректно

Если вы парсили страницы на кириллице, китайском, японском или другие страницы не в UTF-8 через Single, тело ответа раньше возвращалось в виде кракозябр. Мы принудительно декодировали каждый response в UTF-8 до того, как вы видели необработанные байты. Теперь мы считываем кодировку из response (Content-Type, затем <meta charset>, затем резервный UTF-8) и декодируем его корректно. Спасибо Александру Канчеву (Sensika) за сообщение об этой проблеме.

Исправлено

Обнаружены фейковые proxy, возвращающие ваш request обратно

Некоторые proxy в сети на самом деле не перенаправляют ваш request. Они возвращают его обратно в виде plaintext-дампа сервера и пытаются извлечь его содержимое. Теперь мы обнаруживаем этот паттерн до того, как response попадет в ваш код, поэтому Single, Browser и Proxy Finder возвращают корректную ошибку (или выполняют retry) вместо мусора.

Новое

Воспроизведение любой строки Activity в Playground

Каждая строка Activity с сохраненным payload теперь кликабельна: в диалоговом окне отображаются полные request и response (в отформатированном виде, с кнопками копирования и понятными сообщениями для request, которые завершились с ошибкой до формирования body). Нажмите 'Open in Playground', чтобы загрузить этот вызов обратно в форму с уже отображенным архивным response, что позволит вам изменить параметры и запустить его снова без повторной настройки. Сохраненные payload хранятся 24 часа, до 200 последних на один ключ.

Улучшено

Каждый API response содержит request ID

Аутентифицированные вызовы теперь возвращаются с header X-Foura-Request-Id. Сохраняйте его в своих логах, и вы сможете сопоставить любой request с его строкой в Activity, или передайте его в поддержку, чтобы мы могли точно проверить, что произошло на нашей стороне.