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

このリンクを見てください フィドラーのストリーミングモード

したがって、追加する必要があります

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 に答える