最新消息:欢迎各位技术大牛一起交流讨论,邮箱:gww0426@163.com

强大的fiddler——用fiddler Script替换响应内容

WEB前端 郭伟伟 15813浏览 0评论

之前最常用的是fiddler的AutoResponder,将某些请求用本地资源进行替换。但现在的需求是将响应body中的部分文本替换。了解了一下,发现fiddler script这个强大的功能。

要使用fiddler script,在fiddler的顶部菜单中选择Rules -> Customize Rules...  然后会提示你下载Fiddler2 ScriptEditor,按照要求下载即可。如果没有下载也无所谓,就用记事本打开编辑,但建议最好下载。

下载安装ScriptEditor后,打开ScriptEditor,就会发现左侧是代码框,里面已经有很多代码;右侧是参考手册,可以很方便的查阅相关的对象和方法。

要编辑代码,在左侧代码框中修改即可,我们要实现的功能是替换响应文本。那么就需要在OnBeforeResponse(oSession: Session)方法中加入处理代码。

不改动它默认的代码,在默认代码片段之后加入以下代码:

        if (oSession != null && oSession.oResponse != null && oSession.oResponse.headers != null
            && oSession.responseCode == 200 
            && oSession.oResponse.headers.ExistsAndContains("Content-Type", "text/html")
            ){
            // 必須先將原本的 HTTP Response 資料解碼過
            // 因為 HTTP Response Reponse 的資料可能是壓縮過或被分段(chunking)
            oSession.utilDecodeResponse();
            oSession.utilReplaceInResponse('邯郸市','成都市');
            oSession.utilReplaceInResponse('河北省','四川省');
            oSession.utilReplaceInResponse('百度','一度');
        }

 

如果想要其它更高级的功能,看看右侧的参考手册,继续写其它代码。

以上代码的效果如下:

百度

转载请注明:郭伟伟@互联网 » 强大的fiddler——用fiddler Script替换响应内容


发表我的评论
取消评论

使用新浪微博登陆

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址