utilReplaceInRequest no reemplaza cadenas en el cuerpo de la solicitud HTTP en FiddlerCore
utilReplaceInRequest no parece funcionar para mí en FiddlerCore.
Estoy cargando un archivo en un servicio en la nube (Microsoft Azure). Puedo ver que el cuerpo de la solicitud HTTP asociada contiene el contenido del archivo. Necesito reemplazar algunos de esos contenidos (por ejemplo, en el cuerpo de la solicitud HTTP) antes de que se cargue el archivo.
He creado un programa de Visual Studio C # y lo he integrado con FiddlerCore. Estoy usando el método utilReplaceInRequest según la documentación de Fiddler:
outcome = session.utilReplaceInRequest(original_str, replace_str);
Console.WriteLine("result: " + outcome + "\n");
Lo que está sucediendo es que utilReplaceInRequest "parece" funcionar en el sentido de que la variable de resultado se establece en True las múltiples veces que llamo a utilReplaceInRequest. (Necesito reemplazar varias cadenas en el cuerpo, así que llamo a utilReplaceInRequest varias veces). Pero cuando verifico el contenido real del archivo en el servicio en la nube, son las cadenas originales. No se ha reemplazado nada. Incluso intenté invocar session.GetRequestBodyAsString () después de llamar a utilReplaceInRequest en FiddlerCore, y vi que las cadenas de hecho se han "cambiado" en el cuerpo. Pero ese "cuerpo" simplemente no se envía al servicio en la nube.
Pero curiosamente, cuando hago lo mismo en el propio Fiddler (personalizo las Reglas en la función "función estática OnBeforeRequest (oSession: Session) {}"), funciona y el cuerpo HTTP modificado se envía al servicio en la nube !
¿Hay alguna opción de configuración que deba configurar (quizás en mi programa C #) para que FiddlerCore funcione como Fiddler?
Gracias.
Stan
Respuestas
Puede intentar configurar:
session.bBufferResponse = true;
como se describe en las demostraciones de FiddlerCore aquí .