LINUX

httpie: un cliente de línea de comandos HTTP alternativo de Curl en Linux

cliente http http http: // www.

En este tutorial, te mostraré httpie que es un cliente HTTP de línea de comando moderno, una herramienta alternativa para curl. httpie es un Proyecto GitHub de Jakub Roztocil que se ha beneficiado de algunas contribuciones en Github. La herramienta httpie se ve como un moderno cliente http de línea de comandos que hace interacción CLI con los servicios web y proporciona un comando http que permite enviar solicitudes HTTP arbitrarias utilizando una sintaxis simple y natural, y muestra una salida coloreada.

Ofrece soporte para algunas características como JSON integrado, HTTPS, coloración de sintaxis, proxies, autenticación, sesiones persistentes, buen soporte de Python (2.6, 2.7 y 3.x) y algunas otras que puedes descubrir.

1) Instalar httpie

De forma predeterminada, httpie está presente en su repositorio de Linux y se puede instalar directamente a través de los paquetes

# yum install httpie
Loaded plugins: fastestmirror
base                                                                                                                           | 3.6 kB  00:00:00     
epel/x86_64/metalink                                                                                                           |  13 kB  00:00:00     
epel                                                                                                                           | 4.3 kB  00:00:00     
Dependencies Resolved

======================================================================================================================================================
 Package                               Arch                         Version                                          Repository                  Size
======================================================================================================================================================
Installing:
 python2-httpie                        noarch                       0.9.4-1.el7                                      epel                       100 k
Installing for dependencies:
 jbigkit-libs                          x86_64                       2.0-11.el7                                       base                        46 k
 libtiff                               x86_64                       4.0.3-27.el7_3                                   base                       170 k
 libwebp                               x86_64                       0.3.0-7.el7                                      base                       170 k
 python-chardet                        noarch                       2.2.1-1.el7_1                                    base                       227 k

Installed:
  python2-httpie.noarch 0:0.9.4-1.el7                                                                                                                 

Dependency Installed:
  jbigkit-libs.x86_64 0:2.0-11.el7               libtiff.x86_64 0:4.0.3-27.el7_3                        libwebp.x86_64 0:0.3.0-7.el7                
  python-chardet.noarch 0:2.2.1-1.el7_1          python-pillow.x86_64 0:2.0.0-19.gitd1c6db8.el7         python-pygments.noarch 0:1.4-10.el7         
  python-requests.noarch 0:2.6.0-1.el7_1         python-six.noarch 0:1.9.0-2.el7                        python-urllib3.noarch 0:1.10.2-3.el7        

Complete!

2) Cómo usar httpie

Ahora que hemos instalado httpie, debemos conservar la siguiente sintaxis.

 http [flags] [METHOD] URL [ITEM [ITEM]]

Y podemos ver cómo usarlo con el comando de ayuda.

# http --help
usage: http [--json] [--form] [--pretty {all,colors,format,none}]
            [--style STYLE] [--print WHAT] [--headers] [--body] [--verbose]
            [--all] [--history-print WHAT] [--stream] [--output FILE]
            [--download] [--continue]
            [--session SESSION_NAME_OR_PATH | --session-read-only SESSION_NAME_OR_PATH]
            [--auth USER[:PASS]] [--auth-type {basic,digest}]
            [--proxy PROTOCOL:PROXY_URL] [--follow]
            [--max-redirects MAX_REDIRECTS] [--timeout SECONDS]
            [--check-status] [--verify VERIFY]
            [--ssl {ssl2.3,ssl3,tls1,tls1.1,tls1.2}] [--cert CERT]
            [--cert-key CERT_KEY] [--ignore-stdin] [--help] [--version]
            [--traceback] [--debug]
            [METHOD] URL [REQUEST_ITEM [REQUEST_ITEM ...]]

HTTPie - a CLI, cURL-like tool for humans. <http://httpie.org>

METHOD
      The HTTP method to be used for the request (GET, POST, PUT, DELETE, ...).
      
      This argument can be omitted in which case HTTPie will use POST if there
      is some data to be sent, otherwise GET:
      
          $ http example.org               # => GET
          $ http example.org hello=world   # => POST

El argumento requerido es la URL para usar el comando. Por ejemplo, puede usar httpie para publicar un comentario en un sitio directamente a través de su terminal como se muestra a continuación:

# http -a USERNAME POST https://api.github.com/repos/jakubroztocil/httpie/issues/83/comments body='HTTPie is awesome! :heart:'

Puede verificar el resultado directamente en el problema de github página de publicación del proyecto

a) Solicitar URL

El uso básico de httpie es solicitar la URL del sitio web.

# http google.com

b) Descarga un archivo

Puede descargar un archivo con el --download parámetro de htppie. Funciona como comando wget

# http --download https://blog.linoxide.com/wp-content/uploads/2017/09/kubernetes-monitoring.jpg

Es posible cambiar directamente el nombre del archivo descargado durante el proceso con el-o parámetro de la siguiente manera:

# http --download https://blog.linoxide.com/wp-content/uploads/2017/09/kubernetes-monitoring.jpg -o kubernetes.jpg

Cuando usa el -o parámetro, puede reanudar la descarga con el -c parámetro

c) Autenticarse en la URL

El httpie admite la autenticación a través de dos métodos: el básico y digerir autenticación. Tiene la posibilidad de insertar directamente la contraseña en el terminal durante el proceso, pero también puede elegir que se le solicite su contraseña durante el proceso. Para la autenticación básica con contraseña solicitada, haga lo siguiente:

# http -a alainfrancois linoxide.com
http: password for alainfrancois@linoxide.com:

O puede usar directamente su contraseña de la siguiente manera:

# http -a alainfrancois:password linoxide.com

Se puede instalar algún mecanismo de autenticación adicional como complementos como AWS / Amazon S3 (httpie-aws-auth) o JWTAuth (httpie-jwt-auth).

d) Crear una sesión

httpie tiene la particularidad de admitir sesiones persistentes. Puedes crear sesiones nombradas, anónimo y sesiones de solo lectura.

Puede crear una o más sesiones con nombre por host como se muestra a continuación:

# http --session=user1 -a user1:password example.org X-Foo:Bar

e) Envío de solicitud

Una de las cosas que puede agregar a la solicitud con solicitar artículos son los parámetros GET de la siguiente manera:

# http https://httpbin.org/get foo==bar wicked==witch

El httpie es una gran herramienta que puede hacer el mismo trabajo que curl. Puedes ir directamente al proyecto oficial de GitHub para más información.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar