安装方法
如图所示选择,如果没有安装FiddlerScript插件就会自动提示安装。快捷键:crtl + R
具体使用
方法名定义
OnBeforeRequest:修改Request的内容
OnBeforeResponse:修改Response的内容
OnExecAction:在个方法中包含Fiddler 命令,在Fiddler界面中左下方的QuickExec Box
修改Session在Fiddler的显示样式
//将此段代码放在OnBeforeRequest方法下
if (oSession.HostnameIs("www.baidu.com")) {
oSession["ui-color"] = "red";
}
修改Request 中的body
(正确性待定)
//将此段代码放在OnBeforeRequest方法下
{
if(oSession.uriContains("http://www.baidu.com"))
{
// 获取Request 中的body字符串
var strBody=oSession.GetRequestBodyAsString();
// 用正则表达式或者replace方法去修改string
strBody=strBody.replace("1111","2222");
// 弹个对话框检查下修改后的body
FiddlerObject.alert(strBody);
// 将修改后的body,重新写回Request中
oSession.utilSetRequestBody(strBody);
}
}
域名重定向
//将此段代码放在OnBeforeRequest方法下
if(oSession.HostnameIs("www.baidu.com")){
oSession.hostname = "www.hao123.com";
}
限速处理
修改完记得勾选【simulate modem speeds】
//将此段代码放在OnBeforeRequest方法下
if (m_SimulateModem) {
//每延迟300ms发送1kb的数据,也就是每1s发送3kb的数据
oSession["request-trickle-delay"] = 300
//每延迟150ms下行1kb的数据
oSession["response-trickle-delay"] = 150
}
//模拟网络抖动
static function randInt(min, max) {
return Math.round(Math.random()*(max-min)+min);
}
if (m_SimulateModem) {
// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = ""+randInt(1,50);
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = ""+randInt(1,50);
}
修改菜单
在RulesOption这个方法中可以修改rules的菜单。比如说fiddler可以模拟各种User_Agents,但是当前所有的并不满足自己需求的时候,就可以用上这个脚本。先在网上查询所需机型的user-Agents, 然后添加如下代码代码就可以了。比如说360浏览器
// 第一个字段26表示在下拉菜单中展示的顺序
RulesStringValue(26, "360", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E")
更改之后,保存脚本,重后fiddler就生效了。