Httpx

🌐 HTTPX 🦋: Cliente HTTP de Próxima Generación

HTTPX es una herramienta moderna y eficiente para interactuar con servicios web mediante solicitudes HTTP/HTTPS. Ofrece funcionalidades avanzadas como soporte para HTTP/2, manejo de cookies, autenticación, y más. Es una solución ligera, rápida y poderosa para pentesters y desarrolladores que necesitan realizar pruebas o depuración de servicios web.


🕵️‍♂️ ¿Qué puede hacer HTTPX?

  1. Enviar solicitudes HTTP personalizadas 🌐: Compatible con métodos como GET, POST, PUT, DELETE, etc.

  2. Manejo avanzado de parámetros y datos 🛠️: Incluye soporte para JSON, formularios, archivos y más.

  3. Seguimiento y depuración de redirecciones 🔄: Permite seguir redirecciones automáticamente.

  4. Soporte para HTTP/2 y proxies 🎯: Incluye características avanzadas como HTTP/2 y uso de proxies.

  5. Descarga y almacenamiento de respuestas 📂: Guarda contenido directamente en archivos.


🚀 Instalación

HTTPX se instala fácilmente utilizando pip en Python.

  1. Instalación rápida:

    pip install httpx
    
  2. Verifica la instalación:

    httpx --help
    

📌 Ejemplos Prácticos con Comandos

1️⃣ Solicitud Básica GET

Envía una solicitud GET a un servidor y muestra la respuesta.

httpx <https://example.com>

Salida esperada:

200 OK
<!DOCTYPE html>
<html>
...

2️⃣ Solicitud POST con Datos

Envía una solicitud POST con datos de formulario.

httpx <https://example.com/login> -m POST -d username admin -d password secret

Explicación:

  • m POST: Especifica el método POST.

  • d: Agrega parámetros de formulario al cuerpo de la solicitud.


3️⃣ Enviar Datos en Formato JSON

Envía datos en formato JSON en el cuerpo de la solicitud.

httpx <https://example.com/api> -m POST -j '{"key": "value"}'

Explicación:

  • j: Agrega datos JSON al cuerpo de la solicitud.


4️⃣ Agregar Cabeceras Personalizadas

Incluye cabeceras HTTP adicionales en la solicitud.

httpx <https://example.com> -h "Authorization Bearer YOUR_TOKEN"

Explicación:

  • h: Define cabeceras HTTP personalizadas.


5️⃣ Usar Cookies

Incluye cookies en la solicitud.

httpx <https://example.com> --cookies "session=abcd1234"

Explicación:

  • -cookies: Agrega cookies a la solicitud.


6️⃣ Enviar Solicitudes a Través de un Proxy

Redirige el tráfico a través de un servidor proxy.

httpx <https://example.com> --proxy <http://127.0.0.1:8080>

Explicación:

  • -proxy: Especifica la URL del proxy.


7️⃣ Guardar Respuesta en un Archivo

Descarga el contenido de la respuesta y guárdalo en un archivo.

httpx <https://example.com> --download page.html

Explicación:

  • -download: Guarda la respuesta en el archivo especificado.


8️⃣ Seguir Redirecciones Automáticamente

Habilita el seguimiento automático de redirecciones.

httpx <https://example.com> --follow-redirects

Explicación:

  • -follow-redirects: Sigue las redirecciones hasta el destino final.


9️⃣ Deshabilitar la Verificación de SSL

Ignora errores de certificados SSL en la conexión.

httpx <https://example.com> --no-verify

Explicación:

  • -no-verify: Desactiva la verificación de certificados SSL.


🔟 Habilitar HTTP/2

Fuerza el uso de HTTP/2 si el servidor lo soporta.

httpx <https://example.com> --http2

Explicación:

  • -http2: Activa el soporte para HTTP/2.


🌟 Mejores Prácticas

  1. Combina HTTPX con otras herramientas: Usa Httpx para pruebas rápidas y compleméntalo con herramientas como Burp Suite para análisis más profundos.

  2. Maneja datos sensibles con cuidado: Evita imprimir contraseñas o tokens en modo verbose (v).

  3. Usa proxies para anonimato: Protege tu identidad mientras pruebas servicios externos.


🚨 Advertencia

El uso de HTTPX en sistemas o dominios sin autorización puede ser ilegal. Asegúrate de tener permiso antes de realizar pruebas.


🤓 Conclusión

HTTPX es una herramienta versátil y moderna que facilita la interacción con servicios web. Su capacidad para manejar datos, cookies, proxies y configuraciones avanzadas la convierte en una solución ideal para desarrolladores y pentesters. 🌐

Última actualización

¿Te fue útil?