Fiddler高级使用——规则编写

打开规则脚本编写

在此函数下面编写

1. 替换json里面部分参数,然后返回给客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
if (oSession.fullUrl.Contains("http://www.baidu.com"))
{
// 获取Response Body、Request Body中JSON字符串,转换为可编辑的JSONObject变量
var responseStringOriginal = oSession.GetResponseBodyAsString();
var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
var requestStringOriginal=oSession.GetRequestBodyAsString();
var requestJSON = Fiddler.WebFormats.JSON.JsonDecode(requestStringOriginal);
//请求参数中,若type为1,对返回值做如下修改
responseJSON.JSONObject['付费'] = "true";
// 重新设置Response Body
var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
oSession.utilSetResponseBody(responseStringDestinal);
}

2. 修改request的Body里面的部分参数

1
2
3
4
5
6
7
8
9
10
11
if(oSession.uriContains("http://www.baidu.com"))
{
// 获取Request 中的body字符串
var strBody=oSession.GetRequestBodyAsString();
// 用正则表达式或者replace方法去修改string,将false改为true
strBody=strBody.replace("false","true");
// 弹个对话框检查下修改后的body
FiddlerObject.alert(strBody);
// 将修改后的body,重新写回Request中
oSession.utilSetRequestBody(strBody);
}

3. 修改cookie

1
2
3
4
5
6
7
if(oSession.HostnameIs('www.baidu.com') && oSession.uriContains('pagewithCookie') && oSession.oRequest.headers.Contains("Cookie"))
{
var sCookie = oSession.oRequest["Cookie"];
// 用replace方法或者正则表达式的方法去操作cookie的string
sCookie = sCookie.Replace("付费=false", "付费=true");
oSession.oRequest["Cookie"] = sCookie;
}

4. 查看是否访问了某个网站

1
2
3
4
if(oSession.HostnameIs("www.baidu.com")) 
{
oSession["ui-color"] = "red";
}

5. 自动保存某个接口的数据到本地

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (oSession.fullUrl.Contains("www.baidu.com/playurl/v1/") )
{
//消除保存的请求可能存在乱码的情况
oSession.utilDecodeResponse();
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
//文件保存路径,可自定义
file = fso.OpenTextFile("D:\\Sessions.txt",8 ,true, true);
//file.writeLine("Response code: " + oSession.responseCode);
file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
file.writeLine("\n");
file.close();
}
-------------本文结束感谢您的阅读-------------