Ir al contenido

Buscar y reemplazar ​

Buscar y reemplazar modifica automáticamente el tráfico a su paso por el proxy, sin pausarlo ni requerir una acción manual en cada solicitud.

Cómo funcionan las reglas ​

Cada regla define qué buscar y qué hacer con ello. Cuando una solicitud o respuesta coincide con las condiciones, la regla aplica su transformación inmediatamente.

Las reglas se aplican en el orden en que aparecen en la lista. Si dos reglas apuntan a la misma cabecera, la primera regla coincidente se aplica primero y las reglas posteriores ven el resultado de ese cambio.

Campos de una regla ​

CampoDescripción
NombreEtiqueta de la regla. Utiliza un nombre descriptivo para identificar su propósito.
DirecciónSi la regla se aplica a solicitudes, respuestas o ambas
OperaciónQué transformación realizar (consulta la tabla de operaciones siguiente)
Modo de coincidenciaLiteral, expresión regular o contenido completo, según la operación
Valor de búsquedaLa cadena o el patrón que se debe encontrar
Valor de reemplazoEl valor que se debe introducir como sustitución
HabilitadaInterruptor para activar o desactivar la regla sin eliminarla
FiltrosCondiciones opcionales de método, host, ruta y HTTPQL que limitan dónde se aplica la regla

Operaciones ​

OperaciónQué hace
Añadir cabeceraAñade una cabecera nueva con un nombre y un valor fijos
Eliminar cabeceraElimina una cabecera por su nombre
Reemplazar cabeceraSustituye el valor de una cabecera existente
Reemplazar cuerpoSustituye una parte del cuerpo utilizando el valor de búsqueda
Ruta / consulta / parámetro de consultaCambia la ruta de la solicitud o los valores de la consulta
Línea de solicitud / respuestaCambia el componente seleccionado de la línea inicial HTTP
Código de estadoCambia el estado de una respuesta
Mensaje sin procesarTransforma conjuntamente la línea inicial HTTP, las cabeceras y el cuerpo
Payload WebSocketSustituye el contenido coincidente de mensajes del cliente/servidor
Flujo de trabajoEjecuta un flujo de trabajo de Convertir habilitado sobre el contenido seleccionado

Modos de coincidencia ​

Literal coincide con la cadena exacta. Utilízalo para tokens fijos, nombres de cabeceras o valores específicos.

Expresión regular busca coincidencias mediante una expresión regular. Utilízalo cuando el objetivo varíe: por ejemplo, para buscar un token que cambia en cada sesión o para capturar y reutilizar un grupo en el reemplazo.

En los reemplazos con expresiones regulares, utiliza grupos de captura con $1, $2, etc. para referenciar las partes coincidentes en el valor de reemplazo.

Completo pasa todo el contenido seleccionado a la transformación en lugar de buscar una subcadena. Algunas operaciones, como añadir o eliminar una cabecera con nombre, utilizan en su lugar un nombre literal y no ofrecen todos los modos.

Transformar un cuerpo de respuesta completo ​

  1. Crea y habilita un flujo de trabajo de Convertir y valídalo con una entrada de prueba.
  2. Crea una regla de Buscar y reemplazar con dirección Respuesta y operación Flujo de trabajo (cuerpo).
  3. Elige el modo de coincidencia Completo y selecciona el flujo de trabajo.
  4. Restringe la regla con un filtro HTTPQL, por ejemplo:
text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")

El flujo de trabajo recibe el cuerpo entero; su salida sustituye ese cuerpo. Flujo de trabajo (encabezado) transforma una cabecera con nombre, mientras que Flujo de trabajo (encabezados sin procesar) transforma el bloque de cabeceras. Son entradas diferentes del cuerpo de respuesta.

Los filtros HTTPQL se comprueban en el contexto de solicitud/respuesta disponible. Una regla con dirección de solicitud no puede depender de una respuesta que aún no ha llegado. Desactiva el registro del flujo de trabajo cuando la regla genere muchas ejecuciones; actívalo temporalmente para diagnosticar una transformación.

Cambiar el orden de las reglas ​

Arrastra una fila de regla para cambiar su posición en la lista. El orden importa cuando las reglas modifican partes superpuestas de la misma solicitud o respuesta.

Asistencia de IA ​

Haz clic en Asistencia de IA en el editor de reglas y describe en lenguaje natural lo que quieres cambiar. Ogma genera los campos de la regla a partir de tu descripción. Revisa y ajusta los valores generados antes de habilitarla.

Ejemplos de instrucciones que funcionan bien:

  • "Elimina la cabecera X-Frame-Options de todas las respuestas"
  • "Sustituye el valor de la cabecera Authorization por mi token de prueba"
  • "Añade una cabecera llamada X-Debug con el valor true a todas las solicitudes"

Probar una regla ​

Antes de habilitar una regla para tráfico real, pruébala con una solicitud de ejemplo:

  1. Abre el editor de reglas.
  2. Pega una solicitud HTTP sin procesar en el panel Probar.
  3. Haz clic en Aplicar reglas. El panel muestra el resultado y qué reglas se aplicaron.
  4. Verifica que la salida coincida con lo que esperas.
  5. Habilita la regla.

El panel Prueba también tiene un destino Respuesta con entradas de estado, cabeceras y cuerpo. Comprueba la lista de reglas aplicadas: esto prueba las reglas aplicables, no solo un campo aislado del editor.

Buscar y reemplazar frente a Intercepción ​

Buscar y reemplazar es automático. Una vez habilitada una regla, transforma cada solicitud o respuesta coincidente sin ninguna acción por tu parte.

Intercepción pausa el tráfico y espera una decisión manual. Utiliza Intercepción cuando el cambio adecuado dependa de un contexto que necesites evaluar en cada solicitud. Utiliza Buscar y reemplazar cuando la misma transformación deba aplicarse siempre sin revisión.

Usos habituales ​

  • Sustituir una cookie de sesión en todas las solicitudes para probar otra cuenta.
  • Añadir una cabecera que active un modo de depuración o administración.
  • Eliminar cabeceras de seguridad de las respuestas para evaluar el comportamiento del cliente.
  • Sustituir un host codificado de forma fija en respuestas de redirección.
  • Reescribir un prefijo de ruta de solicitud.

Software propietario. Todos los derechos reservados.