12 Cliente HTTP y herramientas proxy de depuración web

Una de las habilidades esenciales para un desarrollador y administrador de sistemas es depurar la aplicación, la API o los servicios, y conocer las herramientas adecuadas es un salvavidas.

¿Qué es la depuración?

Si ve dramas criminales, entonces la idea detrás de la depuración no le resultará ajena. La depuración es un proceso e implica muchas tácticas. Es la búsqueda y resolución sistemática de problemas y errores dentro de un programa.

Además, la depuración soluciona todos los problemas que pueden impedir el correcto funcionamiento del software o, en este caso, de la aplicación web. El proceso de depuración de su API o aplicación web implica principalmente un intento de reproducir el problema.

En consecuencia, surge la necesidad de enviar una solicitud de API. Ahora bien, aquí es donde radica el problema. La mayoría de los navegadores le impedirán cambiar el encabezado de origen e incluso los límites en el tamaño de la URL.

En otras palabras, para reproducir el problema, es posible que deba realizar algunas manipulaciones de HTTP. Y esto requerirá algunas poderosas herramientas de depuración.

Todos los componentes o tácticas del proceso de depuración incluyen;

  • Depuración interactiva
  • Análisis de flujo de control
  • Examen de la unidad
  • Pruebas de integración
  • Análisis de archivos de registro
  • Vigilancia
  • Volcados de memoria
  • perfilado

Es interesante saber que algunos clientes HTTP, es decir, los navegadores web, tienen herramientas de desarrollo web integradas. Estas herramientas se pueden utilizar para depurar API. Con esto en mente, no es necesario escribir su herramienta de depuración.

¿Qué es el cliente HTTP?

Suponga que piensa en crear un sistema que aproveche el protocolo HTTP para la comunicación distribuida o compatible con HTTP, como una aplicación web. Entonces es posible que desee ver el componente de cliente HTTP.

El HTTP, o Protocolo de transferencia de hipertexto, es la razón por la que puede comunicarse o transferir datos en la web, cada vez que escribe una URL. Es un protocolo de aplicación que hace posible la navegación por Internet.

Ahora bien, el Cliente HTTP es un sistema que envía solicitudes a un servidor en formato de texto HTTP y, a su vez, recibe una respuesta del mismo servidor.

Es fundamental conocer las diferencias entre un cliente HTTP y el servidor HTTP.

Diferencias entre cliente HTTP y servidor

Si bien el cliente HTTP suele ser un navegador web o una utilidad, los servidores HTTP actúan como servidores proxy de los servidores de aplicaciones.

En palabras más simples, sus teléfonos inteligentes, televisores, PlayStation, realmente cualquier dispositivo que pueda conectarse a Internet, probablemente esté usando un cliente HTTP.

De manera similar, el servidor HTTP es la computadora de la red a la que se conecta el cliente HTTP. La relación que comparten es más conversacional. Donde el cliente HTTP envía una solicitud y el servidor HTTP responde.

Ejemplos de solicitudes HTTP

Peticiones
Resultados
OBTENER
Solicita todo el recurso
CABEZA
Solicita recurso sin cuerpo
CORREO
Agrega contenido a un recurso web existente
PONER
Modifica un recurso web existente
ELIMINAR
Elimina un recurso especificado
RASTRO
Muestra los cambios en un recurso web.
OPCIONES
Muestra los métodos HTTP disponibles para la URL
CONECTAR
Convierte la conexión de solicitud en un túnel TCP/IP transparente
PARCHE
Modifica parcialmente un recurso web

Depurar la web nunca ha sido tan fácil. Con estas herramientas, finalmente puedes relajarte mientras haces lo que disfrutas.

HTTPie

El fin último de HTTPie es hacer que la interacción de CLI con la interfaz de usuario de los servicios web sea amigable. Esta herramienta proporciona un comando HTTP para enviar solicitudes, todo con el uso de una sintaxis natural.

HTTPie se puede usar para depurar, probar y conectarse con servidores HTTP. Es compatible con HTTP, HTTPS y proxies.

Reflejos

  • Sistema de soporte JSON incorporado
  • Se puede instalar en Windows, macOS y Linux
  • Método y encabezados HTTP personalizados
  • Enviar Formularios
  • Modo offline
  • Autenticación básica y implícita
  • Sintaxis intuitiva

¿No quieres instalar HTTPie localmente?

No te preocupes, ahora puedes ejecutarlo. en línea.

Violinista

Violinista es un proxy de depuración web multiplataforma. Puede ayudar a manipular sesiones web, inspeccionar el tráfico HTTPS y monitorear el tráfico entre su computadora e Internet.

Puede instalar Fiddler en Windows, macOS y Linux. Es probablemente la herramienta más popular para depurar el tráfico.

DESCANSO

DESCANSO está disponible como una extensión para Google Chrome y Firefox.

Reflejos

  • Encabezados de autorización con autenticación básica o Auth2
  • Ver historial de solicitudes
  • Realice solicitudes con cualquier método, URL, cuerpo y encabezados personalizados
  • Prueba y depuración de API

Pata

Pata es un cliente HTTP con todas las funciones, que le permite enviar todo tipo de solicitudes HTTP. Con Paw, puede probar sus API y también explorar otras nuevas.

Paw está diseñado exclusivamente para macOS y tiene características que son fáciles de usar. Puede importar y generar swagger, RAML, etc. y es compatible con el esquema JSON.

Reflejos

  • Admite múltiples autenticaciones como básica, OAuth, hawk, digest
  • Valores dinámicos
  • Entornos
  • Extender a través de extensiones basadas en java-script
  • Cookies y manipulación de sesiones

Solicitante

Solicitante es un cliente robusto que combina las funciones de HTTPie, Postman y Paw. Funciona solo con el editor de texto Sublime.

Reflejos

  • Soporta JSON Schemer
  • Solicitar colecciones e historial
  • Salida coloreada con resaltado de sintaxis
  • Experiencia de usuario moderna
  • Las cookies, los encabezados personalizados, el cuerpo de la solicitud y los parámetros de consulta son fáciles de configurar.
  • Compatibilidad con GraphQL

Cartero

¿Siempre trabajando en API?

Te enamorarás de Postman.

Cartero es indiscutiblemente uno de los clientes HTTP más populares utilizados para depurar aplicaciones web. Permite un desarrollo de API más rápido y sencillo.

Reflejos

  • Incluye una interfaz gráfica de usuario potente, con una interfaz fácil de usar
  • Historial de solicitudes
  • Pruebas automatizadas con ejecutor de recopilación
  • Supervisión flexible de API
  • Soporte REST, GraphQL, JABÓN
  • Compatibilidad con múltiples cargas útiles, incluidos JSON y HTML

rizo

cURL es una herramienta de línea de comandos que se utiliza para enviar datos mediante la sintaxis de URL.

Lo bueno es que cURL está instalado de forma predeterminada en la mayoría de los sistemas operativos con sabor a UNIX. Admite muchos protocolos, incluidos FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS y SCP.

Apoderado de Carlos

Como dice el nombre, apoderado de charles es un proxy HTTP e inverso. Funciona enrutando el tráfico local a través de él.

Puede usar Charles para el proxy SSL, la limitación del ancho de banda, la depuración de AJAX, los puntos de interrupción y más.

Silbar

Silbar es una herramienta de depuración multiplataforma basada en NodeJS para capturar y manipular el tráfico HTTP, HTTPS, WebSocket y TCP.

Primero, debe instalar NodeJS y luego Whistle usando npm.

npm install -g whistle

Siempre puede ampliar las funciones con el complemento si las funciones predeterminadas no se ajustan a sus requisitos.

mitmproxy

mitmproxy es un popular proxy HTTPS de código abierto entre los investigadores de seguridad. Úselo como CLI, web o API de Python.

La interfaz web le brinda la apariencia de las herramientas de desarrollo de Chrome. También es compatible con HTTP/2.

representante

Similar a la pata mencionada anteriormente, representante es una aplicación de proxy de depuración web premium nativa de macOS.

Actúa como un hombre en el medio para el tráfico web y ofrece muchas funciones, incluidas las siguientes.

  • servidor proxy SSL
  • Repetir solicitudes
  • Protobuf
  • Reescribir secuencias de comandos
  • Mapa local y remoto
  • Filtrado de contenido
  • Resaltado de sintaxis

La interfaz de usuario de Proxyman es muy amigable para los humanos.

Kit de herramientas HTTP

Kit de herramientas HTTP es un depurador HTTP de código abierto. Es una aplicación de escritorio disponible para Windows, Mac y Linux.

A diferencia de otros depuradores de HTTP, HTTP Toolkit proporciona interceptación dirigida automáticamente para clientes específicos, incluida la configuración de HTTPS, en lugar de interceptar todo desde su computadora completa y, por lo tanto, evita capturar tráfico irrelevante o interrumpir otras aplicaciones.

Con un solo clic, puede interceptar ventanas del navegador (incluidos Chrome, Firefox y más), lenguajes de secuencias de comandos/backend como Node.js, Python y PHP, cualquier herramienta de línea de comandos, aplicaciones de Electron o dispositivos y emuladores de Android (incluido el sistema). nivel de interceptación HTTPS).

HTTP Toolkit es compatible con las funciones estándar del depurador de HTTP, incluidos los puntos de interrupción y la reescritura del tráfico HTTP(S), el filtrado y la búsqueda del tráfico recopilado, y el resaltado y el formato automático para muchos formatos de cuerpo de solicitud y respuesta populares. Las funciones principales para interceptar, inspeccionar y reescribir HTTP(S) están disponibles de forma gratuita, mientras que algunas funciones premium avanzadas como importación/exportación y reglas simuladas automatizadas requieren una cuenta paga.

Conclusión

Los clientes HTTP anteriores y el proxy de depuración web pueden ayudarlo de muchas maneras. La mayoría de ellos son gratuitos o ofrecen una prueba, así que pruebe algunos de ellos para ver qué funciona para usted.

¡Feliz resolución de problemas!