[Fiddler] Customize Rules
Fiddler的客製化規則.
最近需要做JavaScript的佈署跟測試,
希望可以在瀏覽網站的時候,如果是prod.xxx.com/scripts/demo.js的request可以導到stg.xxx.com/jsdemo/demo.js
如果只是為了從prod.xxx.com換到stg.xxx.com的話,是可以直接改hosts,但是現在除了FQDN外,還要處理路徑.
對於這樣的需求,如果你是使用Charles Proxy的話,它有個map remote的功能,可以很簡單的設定這樣的需求.
不過在這邊,我要說的是怎麼在Fiddler中設定這樣的功能.
下面是環境,需求及作法.
環境
網站 www.xxx.com : 放置Production網頁
網站prod.xxx.com/scripts/ : 放置production用的JS
網站stg.xxx.com/jsdemo/ : 放置測試用的JS
需求
將瀏覽prod.xxx.com/scripts/*.js的request 都導到測試環境stg.xxx.com/jsdemo/*.js,以便在測試prodcution上測試staging的JS檔.
作法
- 開啟Fiddler
- 點選[Rules/Customize Rules],這時會用編輯器開啟CustomRule.js這個檔案
- 在這個JS檔中找到"OnBeforeRequest"的function.
- 在OnBeforeRequest中增加下面的片段
if (oSession.HostnameIs("prod.xxx.com")) {
oSession.url = oSession.url.Replace("prod.xxx.com/scripts","stg.xxx.com/jsdemo");
oSession.host = "stg.xxx.com";
}; - 存檔,然後重新載入網頁.