utilReplaceInRequest不替换FiddlerCore中HTTP请求正文中的字符串



utilReplaceInRequest在FiddlerCore中似乎对我不起作用。

我正在将文件上载到云服务(Microsoft Azure(。我可以看到,关联的HTTP请求的主体包含文件内容。在上传文件之前,我需要替换其中的一些内容(例如,在HTTP请求体中(。

我创建了一个Visual Studio C#程序,并与FiddlerCore集成。根据Fiddler的文档,我正在使用utilReplaceInRequest方法:

outcome = session.utilReplaceInRequest(original_str, replace_str);
Console.WriteLine("result: " + outcome + "n");

正在发生的是utilReplaceInRequest";出现";在我多次调用utilReplaceInRequest时,结果变量被设置为True。(我需要替换正文中的多个字符串,所以我多次调用utilReplaceInRequest(。但是当我检查云服务中的实际文件内容时,它们是原始字符串。没有任何内容被替换。我甚至试着调用会话。GetRequestBodyAsString((,然后在FiddlerCore中调用utilReplaceInRequest,并查看字符串确实已被"替换";"已更改";体内。但是";身体;只是没有发送到云服务。

但有趣的是,当我在Fiddler本身中做同样的事情时(在"静态函数OnBeforeRequest(oSession:Session({}"中自定义规则(;函数(,它工作,并且修改后的HTTP主体正在发送到云服务!

是否有一些配置选项需要我设置(也许在我的C#程序中(,以使FiddlerCore像Fiddler一样工作?

谢谢。

Stan

您可以尝试设置:

session.bBufferResponse = true;

如FiddlerCore演示中所述。

相关内容

最新更新