HTTPie

Когда речь идёт о http запросах через консоль, в первую очередь на ум приходит утилита curl, реже wget. Но есть современный аналог, написанный на python - HTTPie. Его разработали с целью сделать взаимодействие с http сервисами через CLI максимально простым и удобным.

Основные преимущества и удобства:

 простой и интуитивных синтаксис
 поддержка json
 подсветка синтаксиса и форматированный вывод
 поддержка работы с формами и загрузка файлов
 позволяет менять данные запроса и заголовки

Утилита есть в базовых репозиториях популярных дистрибутивов, так что установить можно через пакетный менеджер.
# apt install httpie
# dnf install httpie

HTTPie совмещает функционал curl и wget, так что может заменить обоих. Несколько примеров:
# http example.com
Увидите заголовки и содержимое страницы. При похожем запросе curl просто покажет содержимое, а wget сохранит страницу в файл. С HTTPie удобнее, не нужны лишние ключи.

# https example.com
Запрос автоматом уходит на https протокол, не нужно отдельно указывать в url.

# http GET https://httpbin.org/headers User-Agent:'TEST 1.0'
Подставляем свой User-Agent.

# http PUT pie.dev/put X-API-Token:123 name=John
Пример с использованием метода PUT, передачи заголовка с токеном 123 и передачи данных в формате json {"name": "John"}. В этом примере наглядно видна простота и удобство синтаксиса HTTPie. В curl более громоздко такой же запрос выглядит. Примерно так:
# curl -X PUT -H "X-API-Token: 123" \
-H "Content-Type: application/json" -d '{"name":"John"}' pie.dev/put
Может конечно и проще можно, но лично я всегда примерно так писал, когда использовал curl.

Ну и так далее. Думаю идея вам ясна. Разработчики явно постарались сделать утилиту удобнее существующих. Мне показалось, что у них получилось. HTTPie поддерживает весь функционал, что и curl - авторизация, использование прокси, отправка cookies и т.д. Так что минусов я вообще не заметил. Плюс хорошая документация. Всё подробно описано с примерами.

HTTPie присутствует в виде отдельного приложения c GUI, в том числе для Windows. Получается более простой аналог Postman и подобного софта для работы с API и прочими веб сервисами.

Сайт - https://httpie.io
Исходники - https://github.com/httpie/httpie
Документация - https://httpie.io/docs/cli
Demo - https://httpie.io/cli/run

Отправить комментарий

Комментировать (0)

Новые Старые