20.10.2026

HTTPie CLI: удобная работа с API из терминала

Человек за клавиатурой перед экраном терминала с HTTP-запросом и JSON-ответом, вокруг облака и линии сети
Источник фото: telegram @prog_tools
О чем материал
  1. Базовый синтаксис и первые шаги
  2. Работа с данными и аутентификацией
  3. Формы, файлы и прокси
  4. Установка и документация

HTTP-запросы из командной строки часто превращаются в испытание: curl с десятком флагов, нечитаемый JSON, ручное экранирование кавычек. HTTPie CLI решает эту проблему, предлагая интуитивный синтаксис и человекочитаемый вывод. Инструмент распространяется как отдельная утилита и доступен для большинства операционных систем.

Базовый синтаксис и первые шаги

После установки в вашем распоряжении оказываются две команды: http для обычных запросов и https для защищённых. Простейшая проверка доступности ресурса выглядит так:

https httpie.io/hello

В ответ вы получите тело ответа, отформатированное и подсвеченное с учётом типа содержимого. Цветовая индикация заголовков и JSON-структур заметно ускоряет восприятие по сравнению с сырым выводом curl.

Если нужно понять, что именно уходит на сервер, добавьте флаг -v (verbose). Вы увидите полный запрос: метод, путь, заголовки и тело. Для отладки без реальной отправки существует режим --offline — HTTPie соберёт и покажет запрос, но не станет его выполнять. Это удобно при подготовке сложных вызовов или когда сервер временно недоступен.

Работа с данными и аутентификацией

Передача JSON в HTTPie максимально упрощена. Вместо того чтобы вручную формировать тело и указывать Content-Type, вы просто перечисляете пары ключ=значение:

http POST api.example.com/users name=John email=john@example.com

Утилита сама преобразует эти данные в JSON-объект и установит правильный заголовок. Для вложенных структур можно использовать синтаксис с точками или передавать готовый JSON-файл.

Аутентификация поддерживается «из коробки». Basic Auth задаётся флагом -a или --auth, после которого указываются логин и пароль. Для токенов и произвольных заголовков используйте конструкцию Header:Value — например, Authorization:"Bearer TOKEN".

Отдельного упоминания заслуживают именованные сессии. Если вы работаете с одним и тем же сервером и постоянно передаёте одни и те же заголовки или куки, создайте сессию с помощью флага --session=имя. HTTPie сохранит контекст (включая авторизационные данные) и будет автоматически подставлять его в последующие запросы к этому хосту. Это избавляет от необходимости копировать токены и заголовки в каждую команду.

Формы, файлы и прокси

Помимо JSON, HTTPie умеет отправлять данные в формате HTML-форм. Для этого используется флаг --form или -f, а пары передаются через =. Загрузка файлов на сервер выполняется с помощью синтаксиса @:

http --form POST example.com/upload file@/path/to/file.txt

Скачивание файлов тоже предусмотрено: флаг --download сохраняет ответ в файл, а --continue позволяет возобновить прерванную загрузку. При необходимости можно указать прокси через переменные окружения или флаг --proxy.

Установка и документация

HTTPie распространяется для Linux, macOS и Windows. В документации проекта приведены актуальные способы установки для каждой платформы — от менеджеров пакетов до готовых бинарных сборок. Там же собраны примеры запросов с данными, авторизацией, загрузкой и скачиванием файлов, а также описание всех флагов и режимов работы.

Если вы часто взаимодействуете с REST API, HTTPie CLI способен заметно сократить время на отладку и проверку эндпоинтов. Его синтаксис ближе к естественному языку, а вывод не требует дополнительной обработки.