Instalación y Configuración de HTTPie (alternativa a cURL)

Instalación y Configuración de HTTPie (alternativa a cURL)

HTTPie es un cliente HTTP de línea de comandos con una interfaz de usuario muy intuitiva, compatibilidad con JSON, resaltado de sintaxis, descargas muy similares a wget y unos cuantos complementos más y plugins que podremos utilizar. Una más que buena alternativa a cURL. A continuación mostraremos su Instalación y Configuración usando el post anterior de Kong API Gateway como API de llamada.

Instalación y Configuración de HTTPie

Instalaremos en un contenedor Docker la última versión de HTTPie para poder realizar las llamadas de prueba entre la API que publica y el API Gateway (Kong). Usando dicha Tool podremos ver que cabeceras se están intercambiando entre APIs y será más comprensible que usando “cURL”. A la vez, nos devolverá también las cabeceras que las API utilizarán para sus conexiones y podremos ver configuraciones al respecto.

Hay varios repositorios en GitHub que han publicado Documentación de uso de HTTPie, recomiendo: https://github.com/jakubroztocil/httpie

NOTA: Es recomendable, en el contenedor Docker, insertar en el /etc/hosts el domain name para no usar las IPs. Así podremos crear Alias de conexión que nos vendrán a facilitar las tareas. Los usaremos como “DNS” de la Solución.

Podemos ver a continuación una simulación de la declaración de $host como variable asociada al DNS en vez de la IP y un simple ping para ver que tiene respuesta:

# host=dns-docker-name
# ping $host
PING dns-docker-name (192.168.1.13): 56 data bytes
64 bytes from 192.168.1.13: icmp_seq=0 ttl=64 time=0.060 ms

Podemos realizar lo mismo con la conexión al puerto público de Kong para ver que nos devuelve su cabecera por defecto y ya hemos validado el correcto funcionamiento de HTTPie:

# http $host:8000

HTTP/1.1 404 Not Found
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Date: Thu, 14 Sep 2017 06:49:49 GMT
Server: kong/0.10.1
Transfer-Encoding: chunked

{
    "message": "no API found with those values"
}

Autor: Joakim Vivas

comments powered by Disqus