Baixar o código: learn-httpie.sh
HTTPie é um poderoso cliente HTTP para linha de comando, projetado para uma integração suave com servidores HTTP. Oferece uma interface simples e intuitiva, tornando-se uma excelente ferramenta para desenvolvedores, testadores e administradores de sistemas.
HTTPie possui uma sintaxe simples: http [flags] [MÉTODO] URL [itens].
http GET https://api.example.com/posts
Você pode exibir a requisição sem executá-la, de fato, usando a flag --offline
.
http --offline https://api.example.com/posts
localhost
HTTPie fornece suporte a atalhos para o localhost, similares aos do curl
. Por exemplo, :3000
expande para http://localhost:3000
. Se a porta for omitida, o padrão será a porta 80.
http :/users # http://localhost/users
http :5000/rss # http://localhost:5000/rss
Se você não especificar o método, o HTTPie usará o seguinte:
http https://api.example.com/tags # GET - Seleciona as tags
http https://api.example.com/tags title="Tutorial" slug="tutorial" # POST - Cria uma nova tag
Se você adiciona querystrings manualmente no terminal, tente a seguinte sintaxe:
param==value
. Isso evita que o shell tente reconhecer o operador & como comando
e automaticamente escape caracteres especiais nos parâmetros.
Isso difere dos parâmetros na URL completa, que o HTTPie não modifica.
http https://api.example.com/search q==httpie per_page==20
Você pode enviar dados nos mais diversos formatos, como JSON, formulários ou arquivos.
http POST https://api.example.com/posts title="Olá" body="Mundo"
http -f POST https://api.example.com/submit name=John email=[email protected]
http --form POST https://api.example.com/upload file@/caminho/do/arquivo.txt
HTTPie permite que você adicione headers e lide com autenticação de uma forma fácil.
http GET https://api.example.com/posts Authorization:"Bearer Token" User-Agent:"HTTPie"
http -a usuario:senha GET https://api.example.com/protected
https -A bearer -a token https://api.example.com/admin
HTTPie fornece várias opções para lidar com respostas.
http GET https://api.example.com/data Accept:application/json # Exibe o JSON de uma forma legível
http GET https://api.example.com/image --output image.png # Grava a resposta em um arquivo
http --follow GET https://example.com # Segue redirecionamentos
Sugestões ou correções? Abra uma issue no repositório do GitHub, ou faça um pull request você mesmo!
Originalmente contribuído por Adaías Magdiel e atualizado por 2 colaboradores.