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, amigable y similar a cURL escrito en Python. Está diseñado para hacer que la interacción CLI con los servicios web sea fácil y lo más amigable posible para el usuario.

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

  • HTTPie viene con una interfaz de usuario intuitiva y es compatible con JSON.
  • Sintaxis de comandos intuitiva y expresiva.
  • Resaltado de sintaxis, salida de terminal formateada y coloreada.
  • Compatibilidad con HTTPS, proxies y autenticación.
  • Compatibilidad con formularios y cargas de archivos.
  • Compatibilidad con encabezados y datos de solicitudes arbitrarios.
  • Descargas y extensiones similares a Wget.
  • Compatible con ython 2.7 y 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 instalado, 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 URL.

$ http GET tecmint.lan

Este ejemplo muestra cómo cargar un archivo en transfer.sh usando 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 envía, 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 usando la siguiente URL, que devuelve encabezados. Aquí, hemos definido un User-Agent personalizado llamado "fuerte> TEST 1.0":

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

Consulte una lista completa de opciones de uso ejecutando.

$ 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 de tipo cURL, moderno y fácil de usar con una sintaxis simple y natural, y muestra una salida coloreada. 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.