這篇文章主要是介紹 Fiddler 工具的一些簡單镇饺、好用的功能。在這之前,我們先簡單的介紹一下 fiddler。
Fiddler
The free web debugging proxy
for any browser, system or platform
上面是 fiddler 官網(wǎng)對它自己的介紹胚嘲,再看一下百度百科對fiddler的簡介。
Fiddler 是用C#寫出來的,它包含一個簡單卻功能強大的基于JScript .NET 事件腳本子系統(tǒng)洛二,它的靈活性非常棒慢逾,可以支持眾多的http調(diào)試任務,并且能夠使用.net框架語言進行擴展灭红。
從上面百科的介紹可以知道,F(xiàn)iddler 是依賴 .NET Framework 的口注,也就意味著它只能支持 windows 系統(tǒng)变擒,這也是長久以來 fiddler 短板。不過借助 Mono 項目寝志,F(xiàn)iddler 實現(xiàn)了跨平臺使用娇斑,具體如何在windows 以為的系統(tǒng)使用 fiddler可以去百度一下策添。
使用場景
其實現(xiàn)在的 Chrome Devtools 已經(jīng)非常強大了,我們使用它已經(jīng)能夠幫助我們解決大部分問題毫缆,但是還是有一些問題唯竹,單獨使用 chrome devtools 無法解決或比較麻煩,所以我們在開發(fā)的過程中苦丁,結(jié)合使用 chrome devtools 和 fiddler浸颓,完美!下面列舉一些需要使用 fiddler 的場景旺拉。
在此之前产上,我們先簡單的看一下 Fiddler 內(nèi)部長什么樣子,如下圖蛾狗,左側(cè)是 Fiddler 截獲的請求鏈接晋涣,右側(cè)是編輯區(qū),可以去進行一系列操作沉桌。
修改 Request 請求參數(shù)
比如你請求getOrderList.do
谢鹊,將支付狀態(tài)payStatus
由false
改true
從而獲取已完成訂單列表。
這個場景偶爾會用到留凭,在 chrome 里操作會比較麻煩佃扼,首先我們需要在請求發(fā)送前,使用斷點斷住冰抢,再修改請求參數(shù)的值松嘶,再放開斷點。這樣做的麻煩之處便是找斷點的位置挎扰。特別是對于壓縮后的代碼翠订。修改 Response 返回數(shù)據(jù)
比如你請求/isLogin.do
接口,一直返回false
遵倦,當時你想測試true
的效果請求代理
1)這個用的就比較多了尽超,比如將線上某個頁面出了問題,你在本地修改后梧躺,使用 fiddler 將線上頁面代理到本地似谁,就能看到修改后的效果了。
2)可以將線上某個接口代理到本地文件掠哥,使得可以隨意修改接口返回數(shù)據(jù)巩踏,類似于修改 Response 返回數(shù)據(jù)
3)可以將本地接口代理到線上指定接口,可以在開發(fā)環(huán)境中使用線上真實數(shù)據(jù)作為模擬數(shù)據(jù)续搀,你說怕不怕塞琼。對于UI改版的項目(后臺接口沒變),異常適合禁舷。
Fiddler 常用方法
Fiddler 的使用方法很多彪杉,這里會介紹幾個工具毅往,用來解決上面的使用場景,工具包括:AutoResponder派近、Filters攀唯。
Filters過濾器
Filters 過于強大,請自行研究渴丸,這里請看 Breakpoints
侯嘀。相信大家都能看懂什么意思,斷點都斷住了曙强,怎么解決場景1残拐、場景2 也就不用我說了,哈哈碟嘴。
當然場景1溪食、場景2還有一種方法,就是在Rules ->Automatic Breakpoints娜扇。請看下圖错沃,不過該功能影響范圍較廣。推薦使用快捷鍵來操作雀瓢。
AutoResponder
這個便是我使用fiddler最多的功能了枢析,我們的場景3都可以在這里得到解決。下面我們先看一下AutoResponder長什么樣子刃麸。
操作很簡單醒叁,一般我們先選中左側(cè)的一個請求,然后點右側(cè)的 Add Rule
泊业,這樣就會在列表里新加一條記錄把沼。我們可以在Rule Editor里修改這個這條記錄。下面介紹一下簡單的規(guī)則
// Rule Editor
// EXACT 表示精確匹配吁伺, regex 表示正則表達式饮睬。
1、如圖第一條篮奄,表示精確配一條請求捆愁,并代理到本地桌面 toubasic.html 文件。
EXACT:http://member.kaike.la/member/member/toubasic.do
C:\Users\zjruan\Desktop\toubasic.html
2窟却、如圖最后一條昼丑,表示將所有本地的.do后綴的請求,代理到 member.kaike.la 上
regex:^http://localhost:3000(.*)(\.do)(.*)$
http://member.kaike.la$1$2$3
最后再送上【正則表達式傳送門】夸赫,所謂正則在手矾克,天下我有。
作者:zjruan
日期:2017-04-07
關(guān)鍵詞:調(diào)試、fiddler胁附、autoResponder