前两天因项目需要,简单看了一下FiddlerScript,功能挺强的,今天有时间仔细看一下,做个笔记。
修改Request或Response
修改Request和Response要在FiddlerScript中的OnBeforeRequest和OnBeforeResponse函数中添加规则即可。OnBeforeRequest函数是在每次请求之前调用,OnBeforeResponse函数是在每次响应之前调用。
1、添加请求头Header
oSession.oRequest["NewHeaderName"] = "New header value";
2、删除Response的Header
oSession.oResponse.headers.Remove("Set-Cookie");
3、将请求从一个页面转发到同一Server上的另一页面
if (oSession.PathAndQuery=="/hello/hello.html") {
oSession.PathAndQuery="/hello/index.html";
}
注意:oSession.PathAndQuery的值为fiddler中session列表中的Url:
即图中红色标注出来的部分。图中黄色标注出来的部分有点特殊,host为Tunnel to ,url为另一host。查看该请求的Header为:
这种特殊情况会在下面还有例子。
上面的例子,拦截请求地址为/hello/hello.html的请求,并将其转发到相同Server的/hello/index.html
4、将请求转发到相同端口号的不同服务器(修改请求的Host)
if(oSession.HostnameIs("www.baidu.com")){
oSession.hostname = "www.sina.com.cn";
}
这个例子是将发送到百度