utilSetResponseBody FiddlerCore什么都不做

Par*_*ara 0 .net c# fiddlercore

oSession.utilDecodeResponse();
            body = oSession.GetResponseBodyAsString();

            if (body.Contains("<body>"))
            {
                oSession.utilSetResponseBody(body.Replace("<body>", "<body><script src='a.js' type='text/javascript'/>"));
Run Code Online (Sandbox Code Playgroud)

这是在我的内部运行的确切代码

private void FiddlerApplication_BeforeResponse(Session oSession)
    {
Run Code Online (Sandbox Code Playgroud)

事件.
我可以使用调试器和everthing达到它,但在Internet Explorer中,当我选择"查看源"时,没有任何更改.
有谁知道我做错了什么?谢谢

小智 7

请看一下这个链接 Fiddler的流媒体模式

所以你需要添加

FiddlerApplication.BeforeRequest += delegate(Fiddler.Session oSession)
{
    oSession.bBufferResponse = true;                
};
Run Code Online (Sandbox Code Playgroud)

也请尝试使用

FiddlerApplication.BeforeResponse += delegate(Fiddler.Session oSession)
{
    oSession.utilDecodeResponse();
    String oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
    oBody = oBody.Replace("<body>", "<body><script src='a.js' type='text/javascript'/>");
    oSession.utilSetResponseBody(oBody);
};
Run Code Online (Sandbox Code Playgroud)

问题是body = oSession.GetResponseBodyAsString();为我返回一个空字符串.希望这可以帮助.