>[success] # 学习到的比较实用的脚本
~~~
~~~
>[danger] ##### 响应参数中的json
* 以今日头条为例(OnBeforeResponse)
~~~
if(oSession.uriContains("/api/search/content/?aid")){
oSession["ui-color"] = "red";
var responseStringOriginal = oSession.GetResponseBodyAsString();
var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
responseJSON.JSONObject['title'] = "脚本测试";
// 重新设置Response Body
var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
oSession.utilSetResponseBody(responseStringDestinal);
}
~~~
* 图片效果
![](https://box.kancloud.cn/f99f12cc67c37614b555cb737681f063_812x293.png)
* 更改后效果(响应体中被更改的json)
![](https://box.kancloud.cn/01842b41be6fad30f180aa3b882bb180_896x249.png)
>[danger] ##### 请求参数的修改
* 针对json psot传值
~~~
if(oSession.uriContains("http://www.baidu.com"))
{
var strBody=oSession.GetRequestBodyAsString();// 获取Request 中的body字符串
strBody=strBody.replace("false","true");// 用正则表达式或者replace方法去修改string,将false改为true
FiddlerObject.alert(strBody);// 弹个对话框检查下修改后的body
oSession.utilSetRequestBody(strBody);// 将修改后的body,重新写回Request中
}
~~~
>[danger] ##### 修改 cookies
~~~
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;
}
~~~
>[danger] ##### 将响应信息保存到本地
~~~
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();
}
~~~