Navegador / Intermedio / 15 min de lectura

Análisis del navegador con REA: ¿qué ocurre después de Exportar?

Usa REA para investigar una acción de exportación del navegador. Relaciona las solicitudes con el código cargado y descubre cuándo la página genera una descarga sin servidor.

En esta página
Qué obtendrás

Una pequeña cronología que conecta la acción de exportar con las solicitudes observadas o una ruta de descarga del lado del cliente.

Qué necesitas

Un navegador Chromium con un perfil de depuración aislado, una página que controles y REA. El comando de inicio mostrado es para Chrome en macOS.

01. Iniciar una sesión aislada de navegador

Abre tu aplicación local en un perfil de depuración separado. Así quedan claras la página elegida y los datos de prueba. Sustituye la URL final por la de tu propia aplicación local. En Windows o Linux, usa el ejecutable de Chrome correspondiente.

El endpoint de depuración es la conexión de control del navegador; es diferente de la URL de tu aplicación. Usa la dirección literal de bucle local y el identificador de objetivo devuelto por REA.

Terminal
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/rea-export-profile \
  http://127.0.0.1:3000

02. Seleccionar la página exacta

Enumera los objetivos, localiza la URL de tu aplicación y copia su identificador de objetivo. Inspecciona esa página antes de empezar el experimento. Si la pestaña se recarga o se sustituye, vuelve a enumerar los objetivos en vez de reutilizar un identificador antiguo.

Terminal
npx -y rea-agents@6.4.0 list-browser-targets http://127.0.0.1:9222 --json
npx -y rea-agents@6.4.0 inspect-web-page http://127.0.0.1:9222 TARGET_ID --observation-ms 1000 --json

03. Registrar una referencia inicial y después una exportación

Registra primero un breve período de inactividad para observar las consultas periódicas en segundo plano. Inicia después una segunda observación y pulsa Exportar tú mismo mientras la ventana de observación esté abierta. El observador pasivo de REA no pulsa el botón por ti.

Usa una entrada pequeña y reconocible, como dos filas con una etiqueta de prueba única. Anota si la aplicación muestra un indicador de carga, descarga un archivo o informa de un error. Compara ambas capturas en vez de suponer que toda solicitud nueva pertenece a Exportar.

Terminal
npx -y rea-agents@6.4.0 observe-web-session http://127.0.0.1:9222 TARGET_ID --observation-ms 10000 --json > export-capture.json
  • ¿Comienza una solicitud después de la acción?
  • ¿Cuáles son su método, URL y estado registrado?
  • ¿Puede un iniciador o script cargado relacionarla con el botón?
  • ¿Se creó realmente el archivo descargado y contiene las filas de prueba?

04. ¿No hay solicitud? Inspeccionar la ruta del cliente

Algunas exportaciones construyen un Blob en JavaScript y lo descargan sin solicitarlo al servidor. Una lista vacía de solicitudes es, por tanto, una pista útil, no una prueba de que la captura falló. Inspecciona los scripts cargados y busca Blob, createObjectURL y el atributo download en la función relevante.

El análisis del paquete identifica candidatos estáticos. Una cadena que se parezca a un endpoint no demuestra que se haya llamado. Mantén las observaciones de solicitudes y los hallazgos del código en columnas separadas.

Terminal
npx -y rea-agents@6.4.0 analyze-web-bundle http://127.0.0.1:9222 TARGET_ID --json
Pídeselo a tu agente de programación
Usando la página seleccionada y esta captura de exportación, explica si Exportar solicita un archivo generado por el servidor o lo construye en el navegador. Conecta la actividad observada con el código cargado relevante. Muestra las pruebas que faltan. No deduzcas el contenido de las respuestas solo a partir de metadatos.

05. Repetir con una entrada difícil

Exporta una fila que contenga una coma, una comilla y un salto de línea. Abre el archivo resultante con un analizador de ese formato, además de un editor de texto. Que una descarga finalice correctamente no demuestra que el archivo esté bien codificado.

Entrega la cronología de acciones, la solicitud seleccionada o función del cliente y las comprobaciones del archivo. Este es un flujo reproducible para tu propio objetivo; el artículo no contiene una sesión capturada de un servicio de terceros.

Comandos comprobados con REA 6.4.0. Los resultados específicos dependen de tu artefacto y proveedor. Leer la fuente original y su alcance →

Seguir investigandoElegir tu próximo tutorial →

¿Acabas de conocer la herramienta? ¿Qué es REA? · Cómo revisamos nuestras guías