Herramientas CLI para generar archivos HAR
Existen varias herramientas que te permiten generar archivos HAR desde la línea de comandos, aunque ninguna es un "navegador de línea de comandos" en el sentido tradicional (como Lynx o w3m). En su lugar, estas herramientas controlan navegadores reales (como Chrome o Chromium) de forma programática o en modo "headless" (sin interfaz gráfica) para capturar el tráfico de red y exportarlo en formato HAR.
Aquí te presento las opciones más relevantes, clasificadas por su enfoque.
🛠️ Herramientas Destacadas para Generar HAR desde CLI
| Herramienta | Descripción | Comando de Ejemplo / Uso Básico |
|---|---|---|
chrome-har-capturer [citation:7] |
Utilidad de línea de comandos que se conecta a una instancia de Chrome (con depuración remota habilitada) para capturar el tráfico de una o varias URLs y generar un archivo HAR. | chrome-har-capturer -o salida.har https://ejemplo.com [citation:7] |
chrome-to-har [citation:2] |
Herramienta escrita en Go que lanza una instancia de Chrome/Chromium, navega a las URLs especificadas y captura todo el tráfico de red en formato HAR. Soporta modo headless e interactivo. | chrome-to-har -o resultado.har -headless https://ejemplo.com [citation:2] |
Browsertime [citation:10] |
Herramienta de código abierto de sitespeed.io para medir el rendimiento web. Como parte de su ejecución, genera automáticamente un archivo HAR con todas las peticiones y respuestas. | docker run --rm -v "$(pwd)":/browsertime sitespeedio/browsertime https://ejemplo.com [citation:10] |
HARpoon [citation:8] |
Herramienta que utiliza Puppeteer y Lighthouse para generar archivos HAR. Puede usarse como biblioteca de Node.js o mediante una API en un contenedor Docker. | Ofrece una API REST en un contenedor Docker a la que se le hace una petición con la URL [citation:8]. |
📚 Bibliotecas de Automatización (para Integración en Scripts)
Además de las herramientas CLI, existen bibliotecas que te permiten generar archivos HAR dentro de tus propios scripts de automatización o pruebas. Aunque no son comandos directos, son la base de muchas de las herramientas anteriores y ofrecen una gran flexibilidad.
playhar[citation:4]: Una CLI y biblioteca de TypeScript diseñada para grabar, sanitizar y reproducir tráfico de API en pruebas con Playwright. Es especialmente útil para entornos de testing donde necesitas modificar o simular respuestas.puppeteer-har[citation:3]: Una biblioteca de Node.js que se integra con Puppeteer para capturar el tráfico de red de una página y generar un archivo HAR.
💡 En Resumen
Si lo que buscas es una herramienta para usar directamente en la terminal, chrome-har-capturer o chrome-to-har son excelentes opciones por su simplicidad y enfoque directo. Para análisis de rendimiento más profundos, Browsertime es una alternativa muy potente. Si tu objetivo es la automatización de pruebas, vale la pena explorar playhar.
Cabe mencionar que los navegadores gráficos tradicionales (Chrome, Firefox, Edge, Safari) también pueden generar archivos HAR a través de sus herramientas de desarrollo [citation:1][citation:6], pero esto requiere interacción manual y no es un proceso automatizable por línea de comandos.
¿Te gustaría que profundice en la instalación y uso de alguna de estas herramientas en particular?
Referencias
- What Is An HAR/XML File And How Do I Save It?
- chrome-to-har
- @themarkup/puppeteer-har
- playhar
- sitespeed.io
- How to Generate a HAR File
- chrome-har-capturer
- GitHub - doramatadora/har-poon: Headless. Runs Puppeteer and Lighthouse to generate HAR files
- Generate, Replay and Mock Test with HAR files in Playwright with C#.NET ⚡️ | Karthik K.K
- Results and examples of what you will get if you run sitespeed.io, browsertime, coach or PageXray.
¡Excelente pregunta! Es una distinción clave. De las opciones que mencionamos anteriormente, la que no utiliza un navegador web real se basa en el uso de un proxy de depuración.
La opción que cumple con esta característica es Fiddler (y herramientas similares como Charles Proxy o GitLab HAR Recorder).
Aquí te detallo por qué y cómo funciona esta alternativa, junto con otras opciones que tampoco requieren un navegador.
🧰 La Opción Principal: Proxies de Depuración
Los proxies de depuración actúan como un intermediario entre tu computadora e internet. Configuras tu sistema o una aplicación para que envíe todo su tráfico de red a través de este proxy. El proxy entonces registra cada petición y respuesta HTTP/S, y con esa información puede generar el archivo HAR [citation:4][citation:5][citation:10].
- Cómo funciona: El proxy se sienta entre el cliente (que podría ser un navegador, una aplicación de móvil, o incluso una API) y el servidor. No necesita "entender" ni ejecutar el código de una página web; simplemente observa y registra el tráfico que pasa por él.
- Ventaja clave: No depende de un navegador. Puedes generar un HAR del tráfico de cualquier aplicación, no solo de páginas web.
- Herramientas destacadas:
- Fiddler: Un proxy de depuración clásico y muy potente para Windows (y con versiones para otros sistemas). Permite capturar, inspeccionar y exportar tráfico a formato HAR [citation:4][citation:5][citation:10].
- GitLab HAR Recorder: Una herramienta de línea de comandos específica para grabar tráfico HTTP y guardarlo como HAR, pensada para entornos de integración continua (CI/CD) [citation:4][citation:5][citation:10].
- Dev Proxy de Microsoft: Aunque su documentación menciona que genera HAR a partir del tráfico interceptado, es una herramienta de línea de comandos que actúa como un proxy ligero para desarrolladores [citation:3].
🛠️ Otras Alternativas "Sin Navegador"
Además de los proxies, existen otras formas de generar archivos HAR sin un navegador, aunque son menos comunes o requieren más trabajo manual.
-
Clientes de API: Herramientas como Insomnia te permiten diseñar y probar APIs. Puedes exportar el historial de tus peticiones y respuestas directamente como un archivo HAR [citation:4][citation:5][citation:10]. Esto es ideal para documentar o probar APIs de forma controlada sin tener que interactuar con una interfaz web.
-
Construcción Manual: Técnicamente, como el formato HAR es un archivo JSON, podrías construir uno manualmente o mediante scripts. Por ejemplo, usando
curlpara hacer las peticiones y un script en Python que recolecte los datos y los formatee según la especificación HAR [citation:2]. Sin embargo, este método es complejo y propenso a errores, ya que no captura de forma nativa todos los detalles de la sincronización (timings) de una página web compleja.
📊 Comparativa: Proxy vs. Herramientas con Navegador
Para que la diferencia te quede aún más clara, aquí tienes una comparación:
| Característica | Proxies de Depuración (Fiddler, GitLab HAR Recorder) | Herramientas con Navegador (chrome-har-capturer, Browsertime) |
|---|---|---|
| Motor de renderizado | Ninguno. Solo ven el tráfico. | Utilizan Chrome/Chromium. |
| ¿Ejecuta JavaScript? | No. Solo registra las peticiones que hace. | Sí. Ejecuta el JS de la página para generar el tráfico. |
| Uso principal | Depurar APIs, aplicaciones móviles o cualquier cliente HTTP. | Medir rendimiento web, analizar la carga de páginas completas. |
| Dependencia | Independiente de la aplicación cliente. | Depende completamente del navegador. |
En resumen, si tu objetivo es generar un archivo HAR sin que intervenga un navegador, tu mejor opción es un proxy de depuración como Fiddler o GitLab HAR Recorder. Si lo que necesitas es analizar el rendimiento de una página web que depende en gran medida de JavaScript, entonces las herramientas que automatizan un navegador (como las que vimos en la respuesta anterior) son las más adecuadas.
¿Alguno de estos escenarios se ajusta a lo que necesitas? Si me cuentas un poco más sobre tu caso de uso, puedo ayudarte a elegir la herramienta más precisa.
Referencias
- How-to's - How to collect a HAR file without sanitizing in Google Chrome or Microsoft Edge
- 在没有浏览器的情况下保存HAR文件
- HarGeneratorPlugin - Dev Proxy
- Create har files · Api fuzzing · Application security · User · Help · GitLab
- Create HAR Files
- sitespeedio/chrome-har - Related Repos
- Is there any way to automatically generate har files?
- Cómo Generar un Archivo HAR | Centro de Ayuda de Talkpush
- Initial commit · dcarr178/har2openapi@3faa559
- Create har files · Api fuzzing · Application security · User · 帮助 · GitLab