一、關於Fiddler Script
Fiddler Script 是用JScript.NET語言寫的。Fiddler 包含了一個腳本文件可以自動修改Http Request 和Response.這樣我們就不需要手動地下"斷點"去修改了,實際上它是一個腳本文件CustomRules.js ,位於: C:\Users\sea\Documents\Fiddler2\Scripts\CustomRules.js 下。你也可以在Fiddler 中打開CustomRules.js 文件, 啟動Fiddler, 點擊菜單Rules->Customize Rules
二、CustomRules.js中的主要方法
// 在這個方法中修改Request的內容, 我們用得最多,
static function OnBeforeRequest(oSession: Session)
// 在這個方法中修改Response的內容,
static function OnBeforeResponse(oSession: Session)
三、修改Session在Fiddler的顯示樣式
把這段腳本放在OnBeforeRequest(oSession: Session) 方法下,並且點擊"Save script", 這樣所有的域名為www.cnblogs.com的會話都會顯示紅色.
if (oSession.HostnameIs("www.cnblogs.com")) { oSession["ui-color"] = "red"; }
運行效果如下:
四、修改Response的header和body
比如header中添加X-Forwarded-For參數,ip指定為某個ip;需要修改body中的language=US為language=SG;
在 OnBeforeRequest(oSession: Session) 中添加以下的代碼:
if (oSession.uriContains("flow/intercept")) {
oSession["ui-color"] = "orange";
oSession.oRequest.headers.Add("X-Forwarded-For", "203.161.32.141"); // 添加一個參數,新加坡ip
oSession.utilReplaceInRequest("US", "SG"); }//修改US為SG
修改之前的header,沒有X-Forwarded-For參數:
接下來,讓我們看看,修改之后的header和body數據: