HTTPie: Uma alternativa amigável ao curl
HTTPie é um cliente HTTP de linha de comando com uma interface de usuário intuitiva, suporte a JSON, destaque de sintaxe, downloads semelhantes a wget, plug-ins e muito mais.
Seu objetivo é tornar a interação da CLI com os serviços da Web o mais amigável possível. Ele fornece um comando http simples que permite o envio de solicitações HTTP arbitrárias usando uma sintaxe simples e natural e exibe saída colorida. O HTTPie pode ser usado para teste, depuração e interação geral com servidores HTTP.
O HTTPie consiste em um único comando http projetado para depuração indolor e interação com servidores HTTP, APIs RESTful e serviços da Web, que ele realiza por:
- Padrões sensíveis
- Sintaxe de comando expressiva e intuitiva
- Saída de terminal colorida e formatada
- Suporte JSON incorporado
- Sessões persistentes
- Upload de formulários e arquivos
- Suporte a HTTPS, proxies e autenticação
- Suporte para dados de solicitação e cabeçalhos arbitrários
- Downloads semelhantes ao Wget
- Extensões
- Suporte para Linux, macOS e Windows
E mais…
Instalação
O HTTPie pode ser instalado em qualquer sistema operacional de forma bem simples.
Linux:
apt-get install httpie
Windows:
pip install httpiePara a instalação no Windows funcionar corretamente, você deve ter o Python instalado em sua máquina.
Para ver todas as possíbildades de instalação você pode acessar a documentação oficial.
Começando
Para ver todos os comandos diponíveis no HTTPie basta rodar o comando abaixo ou acessar a documentação:
http --help
A sua sintaxe é bem simples:
http MÉTOD_HTTP URL PARÂMETROS
Exemplo:
http PUT example.org X-API-Token:123 name=JohnO comando acima estamos fazendo uma solicitação HTTP passando o método PUT para a URL example.org. Como parâmetros estamos enviando o header X-API-Token e o body no formato JSON com os dados name=John.
Mas como eu sei quando estou enviando um body ou um header?
O que diferencia um do outro é o seu separador. Veja abaixo alguns exemplos:
Header
Para passar um ou mais Headers basta separar a key e o valor por ':'.
Exemplo:
http PUT example.org X-API-Token:123 X-IP-User:127.0.0.1 name=JohnVeja que passei dois headers para a chamada, sendo o primeiro o X-API-Token e o segundo sendo o X-IP-User.
Body
O separador utilizado para enviar o Body é o '='. Se você quiser enviar os dados do tipo JSON basta informar --json ou -j no final da request e se quiser enviar do tipo de formulario basta informar --form ou -f no final.
Exemplo:
http PUT example.org X-API-Token:123 name=HTTPie language=Python --json
QueryString
O separador utilizado para enviar uma ou mais QueryString é o '=='.
Exemplo:
http GET example.org search==httpie
Enviar arquivo:
Para enviar um arquivo basta separar a key e o valor por '=@'.
Exemplo:
http POST example.org essay=@Documents/essay.txt
Existe também vários outros outputs que podem ser informados na request. Você pode ver todos que estão disponpiveis na documentação.
Comentários
Postar um comentário