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 способен заметно сократить время на отладку и проверку эндпоинтов. Его синтаксис ближе к естественному языку, а вывод не требует дополнительной обработки.



