場景
fiddler作為調試代理工具,可以捕獲電腦與互聯網之間所有http通訊。
通過可視化操作或命令行可以按某些規則截獲特定請求並修改,但當我們需要批量對請求進行更復雜的邏輯操作時,則不是很方便。
此時就可以考慮使用fiddler script了~
fiddler script
簡單講,fiddler script提供了請求/響應過程中的事件接口,通過這些接口,我們可以編寫代碼,注冊自定義邏輯。
如:OnBeforeRequest
、OnBeforeResponse
定義了請求發送前及響應前的事件接口,在此函數中添加的邏輯,可以在每個http請求前和響應前執行,十分靈活。
配置
1、打開fiddler,工具欄選擇Rules->Customize Rules,此時fiddler會創建Customize Rules.js
2、打開Customize Rules.js,我們就可以在此編寫自定義規則了
舉個栗子
1、Customize Rules.js中找到函數OnBeforeRequest
,添加以下邏輯:當請求的資源為js時,高亮為橙色
2、保存后瀏覽器刷新,查看fiddler請求列表
以上只是一個簡單的功能,此外還可以自定義修改請求頭及請求內容,截獲響應修改返回值等等等等
FiddlerScript Editor
fiddler script基於JScript.NET編寫,如果不熟悉API可能會在使用時造成困惑,為此fiddler官方提供了配套的編輯器:FiddlerScript Editor
此編輯器提供了語法高亮、智能感知等功能,幫助開發者編寫代碼。
下載安裝后,FiddlerScript Editor可以通過獨立窗口打開,如圖:
- 左側面板可以添加自定義邏輯
- 右側面板可查詢API接口含義及使用方法
- 工具欄中包含快速定向、查詢及一些常規操作
在fiddler內添加FiddlerScript Tab
有時需要一邊在Editor中編寫script,一邊在fiddler中觀察請求信息,兩個窗口不斷切換,着實麻煩;這時可以使用懶癌福利:Syntax-Highlighting Add-Ons
安裝后重啟fiddler,發現右側面板多了一個FiddlerScript選項卡,點擊進入,看到FiddlerScript Editor已經被內置進來了
上面提到的Syntax-Highlighting Add-Ons
是一個fiddler擴展插件,更多擴展請戳這里
結語
本篇簡單介紹了下fiddler script配置及使用方法,之后會總結一些場景下使用fiddler script如何解決具體問題。