fiddler 的 autoresponder 功能可以拦截请求并指定响应 ,但是这个响应目前看来都是固定的一个文件或者地址,无法根据被拦截请求中的参数来定制化响应内容(不一定对,欢迎指正 )。
搜索了很多资料,发现可以通过 Rules 菜单中的 Customize Rules... 来完成上述任务,
点击该菜单后,会打开一个js文件,里面是一个高级功能,需要写代码扩展 ,
可以点击菜单栏 go**** , 然后 to OnBeforeResponse ,会定位到 OnBeforeResponse 函数,我们的代码将写在该代码块中 。
static function OnBeforeResponse(oSession: Session) {
if (oSession.HostnameIs("xxxxx.xxxxx.cn")){ //只处理目标站点
var abc = oSession.url; //当前会话的url xxxx.xxxxx.cn/fege/age.html?cid=655
var cid = abc.substring(abc.indexOf('=')+1,abc.length); //截取url中参数 (应该有接口可以方便获取,这个比较笨)
oSession.utilDecodeResponse();
oSession.utilReplaceInResponse('622',cid );
}
}
以上是写的一段demo ,他可以将指定网站上所有响应里面的 622 换成 querystring 中的 655
https://docs.telerik.com/fiddler/knowledge-base/fiddlerscript/modifyrequestorresponse
https://docs.telerik.com/fiddler/knowledge-base/autoresponder