最近做了一个Mock项目,基于Fiddler开发,主要借助其强大的可扩展性,本文通过回顾扩展开发过程再次安利一下这个Web调试利器。
Fiddler的扩展性非常好,其 Rules
菜单下面功能项都是通过脚本实现的,也就是说这些功能都可以自定义。官方文档也给出了很详尽的接口文档,通过修改 CustomRules.js
文件可以实现:
可以任意篡改客户端的请求,这就给了我们很大的想象空间。
例如我要重写请求路径,只需在 OnBeforeRequest
里写规则即可:
static function OnBeforeRequest(oSession: Session) {
if (oSession.PathAndQuery=="/version1.css") {
oSession.PathAndQuery="/version2.css";
}
}
目前用到的增加一列、修改颜色、样式等,例如:
public static BindUIColumn("Xmock", 60)
function FillXmockColumn(oS: Session): String {
return "My Column";
}
只需要简单的几行代码就可以扩展界面了
参考官方文档,主要是 Windows C#开发,例如 Filters、Log、Composer、Inspectors、Statistics等功能是这种扩展类型。
目前已经有很多第三方插件,举几个比较有意思的:
有冗余图片信息的图片会被打上一个砖块的印记,提示你需要优化速度了,例如这张图片:
拦截特定的地址,类似 Adblock
制作一个被系统信任的证书,可能有些设备不信任 Fiddler 默认的调试证书
以上,Fiddler通过强大的扩展机制可以最大限度的满足调试需求,可以说对开发者十分友好了,这种思想值得学习。
Copyright © 2015-2022 BY-NC-ND 4.0