Конвертер HAR в cURL
Превращает запросы из HAR-файла браузера в готовые команды cURL — куки и заголовки авторизации вычищаются по желанию.
HAR в cURL полностью работает в вашем браузере. Архив разбирается на устройстве: его сессионные куки никогда его не покидают.
Открыть просмотрщик HAR-файлов
Об инструменте HAR в cURL
HAR в cURL читает сетевой архив, который экспортируют инструменты разработчика браузера, и превращает любой запрос из него в команду для терминала. Это кратчайший путь закрыть разрыв «в браузере работает, а в скрипте нет»: каждый заголовок, метод и тело запроса переносятся ровно такими, какими их отправил браузер. Две детали проработаны тщательно. Кавычки оболочки используют POSIX-экранирование одиночной кавычки внутри одиночных: JSON-тело с апострофом не оборвёт команду молча. А поскольку HAR штатно несёт живые сессионные куки, один переключатель убирает Cookie и Authorization перед вставкой в баг-репорт.
Возможности
- Читает любой экспорт HAR и перечисляет все запросы
- Фильтр по URL, методу и коду состояния
- Конвертация одного запроса или всего отфильтрованного набора
- POSIX-корректные кавычки для тел с кавычками и апострофами
- Удаление Cookie, Authorization и API-ключей по требованию
- Отбрасывает браузерные заголовки и псевдозаголовки HTTP/2
Как использовать HAR в cURL
- В инструментах разработчика на вкладке «Сеть» выберите «Сохранить всё как HAR с содержимым»
- Бросьте файл .har сюда или вставьте его содержимое
- Выберите запрос из списка или оставьте «Все» для конвертации всех
- Для передачи включите удаление кук и авторизации, затем копируйте
Пример
Ввод
POST https://api.example.com/login with a JSON body
Результат
curl 'https://api.example.com/login' \
-H 'Content-Type: application/json' \
--data-raw '{"user":"jo"}' \
--compressed
Для POST с телом -X не выводится: --data уже подразумевает POST.
Частые ошибки и устранение неполадок
- Команда выполняется, но сервер отвечает 401 или 403. — Вероятно, вычищен заголовок авторизации, либо сессия в нём истекла. Отключите удаление и переэкспортируйте HAR, войдя в систему.
- Инструмент говорит, что JSON — не HAR-файл. — У HAR наверху объект log с массивом entries. Сохранённое тело ответа или скопированный JSON такой структуры не имеют: переэкспортируйте через «Сохранить всё как HAR».
- В команде нет тела запроса. — Экспортируйте с содержимым. Иначе HAR фиксирует заголовки и опускает тела — класть в --data-raw нечего.
Часто задаваемые вопросы
- Как экспортировать HAR-файл из браузера?
- Откройте инструменты разработчика, вкладку «Сеть», воспроизведите запрос, затем правой кнопкой по любой строке — «Сохранить всё как HAR с содержимым». Chrome, Edge, Firefox и Safari предлагают свой вариант этого.
- Почему в команде нет -X POST?
- Потому что --data-raw уже подразумевает POST, а лишний -X может изменить обращение cURL с редиректами. Флаг метода выводится только когда нужен: PUT, PATCH или DELETE.
- Безопасно ли делиться командой cURL из HAR?
- По умолчанию нет: HAR ловит живые сессионные куки и заголовки Authorization, равные паролю. Сначала включите удаление: уйдут Cookie, Authorization и типовые API-ключи.
- Загружается ли HAR-файл при конвертации?
- Нет. Файл разбирается целиком в браузере — и это важно: HAR штатно содержит сессионные куки и личные данные каждого пойманного запроса.
Связанные инструменты
- Просмотрщик HAR-файлов — Открывает .har: запросы, заголовки, тайминги и ответы
- cURL в Fetch — Преобразуйте команду curl в вызов fetch() на JavaScript.
- curl в Python — Преобразование команды curl в скрипт Python requests.
- API-клиент — Отправляйте HTTP-запросы, задавайте заголовки и параметры и изучайте ответы; сохраняет последние 25.
- curl в Node.js — Преобразование команды curl в код Node.js axios.
- Разбор URL — Разбейте URL на части и просмотрите список параметров запроса.
Все инструменты ArrayKit