HTTPie - http клиент, похожий на команды Curl и Wget
HTTPie - aitch-tee-tee-pie — это cURL-подобный, современный, удобный и кроссплатформенный HTTP-клиент командной строки, написанный на Python. Он разработан, чтобы сделать взаимодействие CLI с веб-сервисами простым и максимально удобным для пользователя.
Он поддерживает простые команды http и позволяет пользователям отправлять произвольные HTTP-запросы с использованием простого и естественного синтаксиса. Он используется в основном для тестирования, бесперебойной отладки и главным образом для взаимодействия с HTTP-серверами, веб-сервисами и API-интерфейсами RESTful.
- HTTPie поставляется с интуитивно понятным интерфейсом и поддерживает JSON.
- имеет интуитивно понятный командный синтаксис.
- подсветка синтаксиса, форматирования и вывода терминала.
- HTTPS-прокси и поддержка аутентификации.
- поддержка форм и загрузки файлов.
- поддержка произвольных данных запроса и заголовков.
- Wget-подобные загрузки и расширения.
- поддерживает Python 3.x.
Большинство дистрибутивов Linux предоставляют пакет HTTPie, который можно легко установить с помощью менеджера системных пакетов по умолчанию, например:
apt-get install httpie [On Debian/Ubuntu]
dnf install httpie [On Fedora]
yum install httpie [On CentOS/RHEL]
pacman -S httpie [On Arch Linux]
После установки синтаксис для использования httpie:
$ http [options] [METHOD] URL [ITEM [ITEM]]
Основное использование httpie — предоставить URL в качестве аргумента:
$ http netdevops.ru
Отправка метода HTTP
Вы можете отправить HTTP-метод в запросе, например, мы отправим GET-метод, который используется для запроса данных с указанного ресурса. Обратите внимание, что имя метода HTTP идет прямо перед аргументом URL.
$ http GET netdevops.ru
Загрузка файла
В этом примере показано, как загрузить файл file.txt в файл Transfer.sh с помощью перенаправления ввода:
$ http https://transfer.sh < file.txt
Скачивание файла
Вы можете скачать файл, как показано ниже:
$ http https://transfer.sh/Xb45g/file.txt > file.txt
$ http --download https://transfer.sh/Vq3Kg/file.txt #using wget format
Отправка данных в форму
Вы также можете отправить данные в форму:
$ http --form POST netdevops.ru date='Hello World'
Посмотр деталей запроса
Чтобы увидеть отправляемый запрос, используйте опцию -v, например:
$ http -v --form POST netdevops.ru date='Hello World'
Базовая аутентификация HTTP
HTTPie также поддерживает базовую аутентификацию HTTP из CLI в форме:
$ http -a username:password http://nginx-monitor.netdevops.ru/
Пользовательские заголовки HTTP
Вы также можете определить собственные HTTP-заголовки, используя нотацию Header:Value. Мы можем проверить это, используя следующий URL, который возвращает заголовки. Здесь мы определили собственный User-Agent под названием «TEST 1.0»:
$ http GET https://httpbin.org/headers User-Agent:'TEST 1.0'
Просмотрите полный список вариантов использования, запустив:
$ http --help
$ man http
Больше примеров использования вы можете найти в репозитории HTTPie Github:
https://github.com/httpie