Componer y reproducir (Compositor)
Capturar no consiste solo en “mirar”. El compositor de solicitudes de Trace Eagle (Compositor) reúne en un mismo lugar “la solicitud real capturada” y “la construcción y depuración manuales”: cualquier solicitud capturada se puede reenviar tal cual, o reenviar tras ajustar parámetros; también puedes construir una solicitud desde cero y enviarla. Se acabó cambiar de un lado a otro entre una herramienta de captura y una herramienta aparte para depurar APIs.
1. Dos puntos de entrada
Sección titulada «1. Dos puntos de entrada»- Reenviar / editar y reproducir: haz clic derecho en la lista de tráfico, o haz clic en “Editar y reenviar” en el panel de detalle, para cargar esta solicitud capturada en el compositor tal cual. La dirección se restaura a partir del protocolo / host / puerto del momento de la captura, se eliminan las cabeceras de conexión irrelevantes, y el cuerpo y su tipo se detectan a partir del contenido, todo automáticamente. Ajusta unos pocos parámetros y reenvía.
- Construir desde cero: monta una nueva solicitud a mano directamente en el compositor.
Ambos puntos de entrada usan el mismo canal de envío, y los resultados se registran en una pestaña de sesión del Compositor aparte (que conserva el historial completo), donde, igual que una solicitud capturada, se pueden ver, volver a editar y comparar.
2. Construir una solicitud a mano
Sección titulada «2. Construir una solicitud a mano»- Línea de solicitud: método (GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS) + URL.
- Tabla de parámetros: los parámetros de consulta se gestionan fila por fila en una tabla, mantenidos aparte de la URL y ensamblados solo en el momento del envío, lo que significa que los marcadores dinámicos que hay dentro no se rompen por una codificación prematura.
- Tabla de cabeceras: añade, elimina o edita cualquier fila de cabecera una por una.
- Ayudante de autenticación: None / Bearer Token / Basic (usuario + contraseña, en base64 automáticamente); solo surte efecto cuando no has escrito tú mismo una cabecera Authorization.
- Cuerpo: none / JSON / formulario (form-urlencoded) / texto en bruto; elegir JSON o formulario añade automáticamente el Content-Type correspondiente.
3. Valores dinámicos: gestiona APIs privadas firmadas / cifradas
Sección titulada «3. Valores dinámicos: gestiona APIs privadas firmadas / cifradas»Cualquier campo puede contener valores dinámicos ${...}, evaluados por el motor antes de enviar. Esto es un salvavidas para depurar APIs privadas que llevan una firma / marca de tiempo / nonce:
| Valor dinámico | Propósito |
|---|---|
${uuid} / ${randomUUID} |
UUID aleatorio |
${timestamp} |
Marca de tiempo Unix en segundos |
${timestampMs} / ${now} |
Marca de tiempo Unix en milisegundos |
${random} |
Hex aleatorio de 16 dígitos |
${randomInt:min,max} |
Entero aleatorio en un rango |
${base64:} / ${base64url:} / ${base64decode:} |
Codificar / decodificar Base64 |
${md5:} / ${sha1:} / ${sha256:} |
Hash |
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} |
Firma HMAC |
${urlEncode:} / ${upper:} / ${lower:} |
Codificación URL / conversión de mayúsculas y minúsculas |
- Admite anidamiento: por ejemplo
${hmacSha256:${secret},${body}}, primero resuelve la variable y luego calcula la firma. - Todo lo que no se puede resolver se mantiene tal cual, de modo que ves de un vistazo qué variable no se evaluó, mientras que las herramientas ordinarias suelen dar error o enviar un valor vacío cuando se topan con una variable indefinida.

4. Entornos y colecciones
Sección titulada «4. Entornos y colecciones»- Variables de entorno: extrae
${name}a variables de entorno, y cambia entre varios entornos (como “dev / test / prod”) con un solo clic; las variables pueden referenciarse entre sí y expandirse en cadena. - Colecciones: agrupa las solicitudes de uso frecuente en carpetas con nombre, guarda la solicitud actual en cualquier momento, y vuelve a cargarla para reutilizarla cuando quieras.
- Guardado automático del espacio de trabajo: las colecciones + los entornos se guardan automáticamente como un archivo de texto plano, versionable que se puede comparar (diff) y revisar, lo que facilita compartirlo dentro de un equipo y rastrear el historial.
5. Importación y generación de código
Sección titulada «5. Importación y generación de código»- Importar cURL: pega un comando cURL para analizarlo y convertirlo en una solicitud editable (admite parámetros comunes como
-X / -H / -d / --data-* / -u / -b / -A / -e, incluido el manejo de comillas, y lo trata automáticamente como POST cuando hay un cuerpo). - Importar archivo de colección: importa archivos de colección de API externos (el foco está en el cuerpo en bruto; los grupos se aplanan en una sola colección).
- Generación de código: exporta la solicitud actual a un fragmento de código cURL / Python / JavaScript(fetch) / Go / OkHttp con un solo clic, práctico para escribir scripts, colocarlo en un proyecto o compartirlo con un colega.
6. Envío fiel: mantén la reproducción cerca del camino real
Sección titulada «6. Envío fiel: mantén la reproducción cerca del camino real»El valor de la reproducción reside en “que la solicitud reproducida coincida con el entorno real”. En los ajustes del compositor, el envío puede mantener las mismas características de red que la sesión de captura, haciendo los resultados más fiables:
- Proxy superior: envía a través de un proxy superior (http / socks5), enrutando la solicitud reproducida a un proxy de empresa, un host de salto u otro proxy secundario.
- Fidelidad de las características de la solicitud (perfil de navegador): restaura las características de red de la solicitud reproducida a las de un cliente estándar (como un navegador común), manteniendo la solicitud reproducida consistente con el camino real.
- DNS personalizado: especifica qué DNS resuelve el dominio, para evitar envenenamiento o tomar una ruta designada.
Antes de enviar, todos los valores dinámicos ${...} se evalúan primero localmente, de modo que siempre puedes ver exactamente qué se va a enviar de verdad. Cada envío pasa por una sesión del Compositor aparte, aislada de la sesión de captura; los resultados muestran el código de estado, el protocolo y el tiempo transcurrido en línea, y se registran como un Flow en la sesión, de modo que, igual que una solicitud capturada, se pueden volver a ver, volver a editar y comparar.
7. Combina con la comparación de solicitudes (Diff)
Sección titulada «7. Combina con la comparación de solicitudes (Diff)»Una solicitud compuesta / reproducida se puede comparar línea por línea, lado a lado con una solicitud real capturada del historial, señalando rápidamente “qué difiere exactamente entre esta vez y la anterior para el mismo endpoint”, lo cual es especialmente eficiente para resolver diferencias de firma, de parámetros y de respuesta. Consulta Comparación de solicitudes.
Volver a Captura con proxy · Relacionado: Reglas de reescritura y puntos de interrupción · Comparación de solicitudes