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演示中所述。