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中当我选择“查看源”时没有任何更改。
有谁知道我做错了什么?感谢
答案 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();
为我返回一个空字符串。
希望这会有所帮助。