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