201208081453Fiddler 替換 HTTP Request Host

這邊指的替換 HTTP Request Host 是,所有原先發到 a.com 的 HTTP Request , Fiddler 都幫你轉發到 b.com ,而在瀏覽器中毫無感覺。測試 debug 過程中常有這種需求,例如用 www.dev.demo.com 替換取代 www.demo.com 。

替換的方法有兩種,一種是暫時的,一種是永久的。暫時的方法是在 Fiddler 左下角輸入:

urlreplace www.demo.com www.dev.demo.com

按下 Enter ,所有原先發到 www.demo.com 的 HTTP Request 就轉發到 www.dev.demo.com 了。

要清除轉發,請在同一位置輸入:

urlreplace

按 Enter 就可以了。

更詳細的說明請參考 Fiddler 官方說明文件 - QuickExec Reference 。可以發現 urlreplace 做的是整個網址字串的取代,所以可以動手腳的地方不只於此。

永久的方法是修改 Fiddler 的 CustomRules.js ,注意是 .js !點下 Fiddler 上方的 Rules ,再點 Customize Rules :

如果有安裝 FiddlerScript Editor ,會用 FiddlerScript Editor 開啟 CustomRules.js ,否則會用筆記本開啟。或者也可以到「我的文件 \ Fiddler2 \ Scripts 」直接編輯 CustomRules.js 。

請先在 CustomRules.js 找到:

static function OnBeforeRequest(oSession: Session) {
  // ...
}

在函式 OnBeforeRequest 中加入:

if(oSession.HostnameIs('www.demo.com'))
  oSession.hostname = 'www.dev.demo.com';

將 CustomRules.js 存檔, Fiddler 會自動重新載入 CustomRules.js ,原先發到 www.demo.com 的 HTTP Request 就會自動轉發到 www.dev.demo.com 。

更詳細的說明請參考 Fiddler 官方說明文件 - Script Samples 。可以玩的東西多得哩 :p 。

以上都是小粉紅教我的,謝謝小粉紅大神 m(__ __)m 。

延伸
回應
Google 站內搜尋
BloggerAds
累積 | 今日
loading......
    沒有新回應!





Powered by Xuite