Fiddler(八)| 脚本示例

Fiddler在处理每个session时,脚本文件CustomRules.js中的方法都会运行,这些脚本可以使你任意修改复杂的session。 通常,使用的比较多的全都是用脚说起来应该修改请求或响应

两个重要的函数

OnBeforeRequest

请求经过Fiddler发送给服务器之前会先调用这个函数,因此,如果想要修改请求,可以写在这个函数里

OnBeforeResponse

从服务器读完响应后,且在将响应发送给客户端之前执行的。 通过修改这个函数,可以修改服务器的响应头或者响应体

一、、修改请求的显示样式

在Fiddler的FiddlerScript里面有一个Go to下拉框,可以选择OnBeforeRequest,然后定位到该方法里面,其中,如下Fiddler给出的一个脚本示例

 if(oSession.uriContains(".aspx")){ oSession["ui-color"]="red";}

意思很明白,就是当请求中含有.aspx,将请求的颜色置为红色,根据示例,我们可以自己写一些其他的脚本,例如:

 if(oSession.uriContains("sogou")){ oSession["ui-backcolor"]="green";}

修改之后点击FiddlerScript左上角的Save Script进行保存,访问搜狗的任意网站,就能看到这些包含sogou的请求的背景色被设置为绿色,相应的,也可以修改ui-bold使字体加粗

二、修改请求

客户端发请求 http://www.sogou.com?c=XXX,其中,c=0,1。 c=0在客户端能够模拟,但是c=1没办法在客户端模拟,这时,借助Fiddler就可以达到修改请求的目的

 if(oSession.uriContains("sogou")){
     oSession.url = "www.sogou.com?c=1";
}

三、、切换HOST请求头

当Fiddler接收到URL和Host请求头不匹配时,会在session的X-Original-Host标记中保存原始的Host值,然后用从URL解析到的Host 替换它。 下面这段脚本会把请求发到原始Host请求头中指定的Host

 if (oSession.BitFlags & SessionFlags.ProtocolViolationInRequest){
     var sOverride = oSession["X-Original-Host"];
     if (!String.IsNullOrEmpty(sOverride)){
         oSession["X-overrideHost"] = sOverride;
         oSession["ui-backcolor"] = "yellow"; 
     }
}

四、、隐藏返回图像的session

 if (oSession.oResponse.MIMEType.Contains("image"))
{
oSession["ui-hide"] = "Script hiding images";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值