HTTPie: un cliente HTTP moderno similar a los comandos Curl y Wget


HTTPie (pronunciado aitch-tee-tee-pie) es un cliente HTTP de línea de comando multiplataforma, moderno, fácil de usar y multiplataforma escrito en Python. Está diseñado para facilitar la interacción de CLI con los servicios web y lo más fácil de usar posible.

Tiene un comando http simple que permite a los usuarios enviar solicitudes HTTP arbitrarias utilizando una sintaxis sencilla y natural. Se usa principalmente para pruebas, depuración sin problemas y principalmente para interactuar con servidores HTTP, servicios web y API RESTful.

  • HTTPie comes with an intuitive UI and supports JSON.
  • Expressive and intuitive command syntax.
  • Syntax highlighting, formatted and colorized terminal output.
  • HTTPS, proxies, and authentication support.
  • Support for forms and file uploads.
  • Support for arbitrary request data and headers.
  • Wget-like downloads and extensions.
  • Supports ython 2.7 and 3.x.

En este artículo, mostraremos cómo instalar y usar httpie con algunos ejemplos básicos en Linux.

Cómo instalar y usar HTTPie en Linux

La mayoría de las distribuciones de Linux proporcionan un paquete HTTPie que se puede instalar fácilmente utilizando el administrador de paquetes del sistema predeterminado, por ejemplo:

# apt-get install httpie  [On Debian/Ubuntu]
# dnf install httpie      [On Fedora]
# yum install httpie      [On CentOS/RHEL]
# pacman -S httpie        [On Arch Linux]

Una vez instalada, la sintaxis para usar httpie es:

$ http [options] [METHOD] URL [ITEM [ITEM]]

El uso más básico de httpie es proporcionarle una URL como argumento:

$ http example.com

Ahora veamos algunos usos básicos del comando httpie con ejemplos.

Puede enviar un método HTTP en la solicitud, por ejemplo, enviaremos el método GET que se utiliza para solicitar datos de un recurso específico. Tenga en cuenta que el nombre del método HTTP aparece justo antes del argumento de la URL.

$ http GET tecmint.lan

Este ejemplo muestra cómo cargar un archivo a transfer.sh utilizando la redirección de entrada.

$ http https://transfer.sh < file.txt

Puede descargar un archivo como se muestra.

$ http https://transfer.sh/Vq3Kg/file.txt > file.txt		#using output redirection
OR
$ http --download https://transfer.sh/Vq3Kg/file.txt  	        #using wget format

También puede enviar datos a un formulario como se muestra.

$ http --form POST tecmint.lan date='Hello World'

Para ver la solicitud que se está enviando, use la opción -v , por ejemplo.

$ http -v --form POST tecmint.lan date='Hello World'

HTTPie también admite la autenticación HTTP básica de la CLI en la forma:

$ http -a username:password http://tecmint.lan/admin/

También puede definir encabezados HTTP personalizados utilizando la notación Encabezado: Valor . Podemos probar esto utilizando la siguiente URL, que devuelve los encabezados. Aquí, hemos definido un User-Agent personalizado llamado ‘strong & gt; TEST 1.0’:

$ http GET https://httpbin.org/headers User-Agent:'TEST 1.0'

Ver una lista completa de las opciones de uso mediante la ejecución.

$ http --help
OR
$ man  ttp

Puede encontrar más ejemplos de uso en el repositorio HTTPie Github : https://github.com/jakubroztocil/httpie.

HTTPie es un cliente HTTP de línea de comandos moderno, fácil de usar, similar a cURL, con una sintaxis simple y natural, y muestra resultados en color. En este artículo, hemos mostrado cómo instalar y usar httpie en Linux. Si tiene alguna pregunta, comuníquese con nosotros a través del formulario de comentarios a continuación.