HTTPie, un cliente HTTP de línea de comandos disponible para Ubuntu

noviembre 22, 2020 , 0 Comments

about httpie

En el siguiente artículo vamos a echar un vistazo a HTTPie. Este es un cliente HTTP para la línea de comandos, de código abierto y gratuito para Gnu/Linux, MacOS y Windows. Esta herramienta está pensada para probar y depurar las API, los servidores HTTP y los servicios web. Viene con JSON, HTTPS, proxies y soporte de autenticación. Está basada en Python y publicada bajo licencia BSD.

HTTPie es un cliente HTTP de línea de comandos que tiene como objetivo hacer que la interacción CLI con los servicios web sea lo más amigable posible para los humanos. HTTPie está diseñado para probar, depurar y, en general, interactuar con API y servidores HTTP. Los comandos http y https permiten crear y enviar solicitudes HTTP arbitrarias. Utilizan una sintaxis simple, y proporcionan salida formateada y coloreada.

Si te dedicas al desarrollo de aplicaciones, una de las operaciones habituales es interactuar con la API de otros servicios. Actualmente, los servicios con los que te relacionas tienen una API, no solo para leer datos, sino también para añadir o modificarlos. Además de a los desarrolladores de alto nivel, si creas tus propios scripts o aplicaciones, esta herramienta te puede resultar útil. Seguro que en alguno de tus scripts has utilizado herramientas como wget o curl. Si este es el caso te alegrará saber que HTTPie es el sustituto perfecto para estas herramientas. Esto es así porque ofrece a los usuarios un lenguaje natural vía HTTP desde el terminal.

Características generales de HTTPie

  • Incluye una sintaxis expresiva e intuitiva.
  • Nos va a mostrar una salida de terminal formateada y coloreada.
  • Soporte JSON incorporado, al igual que las cargas de formularios y archivos.
  • HTTPS, proxies y autenticación.
  • Podremos utilizar encabezados personalizados y sesiones persistentes.
  • Vamos a poder realizar descargas tipo wget.
  • Es compatible con Gnu/Linux, macOS y Windows.
  • Soporta la posibilidad de utilizar complementos.
  • Nos ofrece una documentación extensa en la página web del proyecto.

Estas son solo algunas de sus características. En la página de GitHub del proyecto se pueden consultar todas ellas en detalle.

Instalar HTTPie en Ubuntu

Los usuarios podremos instalar esta herramienta en Ubuntu utilizando apt. Para hacerlo, no tendremos más que abrir una terminal (Ctrl+Alt+T) y ejecutar la siguiente secuencia de comandos:

instalar httpie

sudo apt update && sudo apt install httpie

Finalizada la instalación, podremos verificar la instalación con el siguiente comando:

http version

http --version

También podremos instalar esta herramienta mediante su correspondiente paquete snap. No tendremos más que abrir una terminal (Ctrl+Alt+T) y ejecutar el comando:

instalar httpie snap

sudo snap install http

Esta utilidad la podremos instalar también utilizando Python (funciona en Gnu/Linux, Windows y Mac OS X), mediante pip. Si todavía no cuentas con este gestor de paquetes en tu sistema, puedes seguir el artículo que escribimos en este blog hace un tiempo.

Para realizar esta instalación, solo hay que seguir las instrucciones que describen desde la página en GitHub del proyeto.

Ejemplos de uso

Método HTTP personalizado, encabezados HTTP y datos JSON

método http personalizado

http PUT httpbin.org/put X-API-Token:123 name=Ubunlog

Descargar archivo usando HTTPie

descargar archivo como wget

http --download https://downloads.vivaldi.com/stable/vivaldi-stable_3.4.2066.106-1_amd64.deb

También se puede utilizar de la siguiente forma:

descargar archivo y dar nombre

http httpbin.org/image/png > image.png

Enviar un método HTTP en la solicitud

Para este ejemplo enviaremos el método GET que se utiliza para solicitar datos de un recurso específico.

enviar método http

http GET httpbin.org

Enviar datos a un formulario

También podremos enviar datos a un formulario.

enviar datos por formulario

http -f POST httpbin.org/post Hola=Mundo

Tendremos la posibilidad de ver la solicitud que se envía utilizando una de las opciones de salida:

ver solicitudes enviadas

http -v httpbin.org/get

Ayuda

Para obtener los detalles de uso, no hay más que ejecutar el comando:

ayuda http

http --help

También podremos consultar sus páginas man:

man http

En la página de GitHub del proyecto, los usuarios encontraremos más ejemplos de uso.

HTTPie es un cliente HTTP para la línea de comandos moderno, fácil de usar y similar a cURL, con una sintaxis simple y natural, que además muestra resultados en color. En este artículo, hemos mostrado cómo instalar y algunos ejemplos simples de esta herramienta ejecutada en Ubuntu 20.04. Para más información, los usuarios podemos consultar la página web del proyecto.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.