Перейти к содержанию

Конвертер HAR в curl

Преобразуйте запросы из HAR-файла в команды curl, fetch() или HTTPie

Входные данные
Выходные данные

Конвертер HAR в curl

Экспортируйте HAR-файл из панели Network в DevTools браузера, и этот инструмент преобразует каждый запрос в команду curl, которую можно вставить прямо в терминал. Это необходимо для воспроизведения ошибки вне браузера, обмена запросом с коллегой или написания скрипта для вызова, который вы сначала захватили через действия в интерфейсе сайта.

Отфильтруйте запросы перед преобразованием: сузьте список по домену для выделения одного API, по методу для извлечения только POST-запросов или по типу контента для получения только JSON-обменов. Шум браузера — User-Agent, Accept, Sec-Fetch-* и подобные заголовки — по умолчанию удаляются, так как они редко важны при повторном использовании вызова; один флажок вернёт их обратно. Куки по умолчанию исключаются, поскольку захваченная cookie сеанса обычно устаревает; заголовки аутентификации имеют собственный переключатель. Тело присоединяется с --data-raw, чтобы JSON с кавычками сохранился неповреждённым, или переключитесь на --data для собственного экранирования curl. Добавьте --compressed или --location, когда сервер ожидает gzip или редиректы, и разделите длинные команды на строки для читаемости.

Предпочитаете что-то другое вместо curl. Те же отфильтрованные запросы можно вывести как вызовы JavaScript fetch() для скрипта или консоли браузера, либо как команды HTTPie с его более удобным синтаксисом header:value. HAR-файл с десятками записей создаёт один блок команд на каждый совпадающий запрос, разделённые пустой строкой, поэтому вы можете скопировать весь пакет или выбрать нужный.

Все операции происходят в вашем браузере — HAR-файл, который может содержать полные тела запросов и ответов, куки и токены аутентификации, никогда не загружается куда-либо. Скопируйте результат, загрузите его как .txt или отправьте в другой инструмент для продолжения работы.

FAQ

Что такое HAR-файл
HAR (HTTP Archive) — это формат JSON, который браузеры используют для экспорта сетевой активности. В Chrome или Firefox откройте DevTools, перейдите на вкладку Network, щелкните правой кнопкой на запросе (или выберите все) и выберите "Save all as HAR".
Почему куки и заголовки браузера по умолчанию исключаются
Захваченная cookie сеанса обычно истекает или чувствительна к моменту повторного использования команды, а заголовки вроде User-Agent или Sec-Fetch-* редко влияют на успех запроса. Включите любой из них обратно соответствующей опцией.
Обрабатывает ли он запросы без тела, например GET запросы
Да. Запросы без блока postData генерируют простую команду curl без флага --data, и GET не получает ненужный -X GET.
Могу ли я генерировать что-то другое кроме команды curl
Да. Переключите формат вывода на fetch() для JavaScript фрагмента или HTTPie для его синтаксиса httpname:value, используя те же фильтры и правила заголовков.
Мой HAR-файл загружается куда-нибудь
Нет. Файл парсится и преобразуется полностью в вашем браузере — включая любые тела, куки или токены, которые он содержит — и никогда не покидает ваше устройство.