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:
sudo apt update && sudo apt install httpie
Finalizada la instalación, podremos verificar la instalación con el siguiente comando:
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:
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
http PUT httpbin.org/put X-API-Token:123 name=Ubunlog
Descargar archivo usando HTTPie
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:
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.
http GET httpbin.org
Enviar datos a un formulario
También podremos enviar datos a un 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:
http -v httpbin.org/get
Ayuda
Para obtener los detalles de uso, no hay más que ejecutar el comando:
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.