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

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

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

private void FiddlerApplication_BeforeResponse(Session oSession)
    {

事件。
我可以使用调试器访问它,一切都很好,但是在 Internet Explorer 中,当我选择“查看源代码”时,什么都没有改变。
有谁知道我做错了什么?谢谢

4

1 回答 1

8

请看一下这个链接 Fiddler's Streaming Mode

所以你需要添加

FiddlerApplication.BeforeRequest += delegate(Fiddler.Session oSession)
{
    oSession.bBufferResponse = true;                
};

也请尝试使用

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);
};

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

于 2013-03-02T21:51:01.270 回答