Перейти до вмісту

Конвертер 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-файл завантажується кудись
Ні. Файл аналізується та перетворюється повністю у вашому браузері — включаючи будь-які тіла, куки або токени, які він містить — і ніколи не покидає ваш пристрій.