>[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);
}
~~~
* 圖片效果

* 更改后效果(響應體中被更改的json)

>[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();
}
~~~