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

событие.
Я могу достичь этого с помощью отладчика, и все идет хорошо, но в Internet Explorer, когда я выбираю "View Source", ничего не меняется.
Кто-нибудь знает, что я делаю не так? Спасибо

1 ответ

Пожалуйста, посмотрите на эту ссылку Потоковый режим Fiddler

Так что вам нужно добавить

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(); возвращает пустую строку для меня. Надеюсь это поможет.

Другие вопросы по тегам