utilSetResponseBody FiddlerCore什么都不做

时间:2013-02-27 20:40:40

标签: c# .net fiddlercore

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)
    {

事件。
我可以使用调试器到达它并且everthing正常但在Internet Explorer中当我选择“查看源”时没有任何更改。
有谁知道我做错了什么?感谢

1 个答案:

答案 0 :(得分:7)

请看一下这个链接 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();为我返回一个空字符串。 希望这会有所帮助。