Fiddler使用技巧

1. Fiddler 是什麼?

Fiddler是用C#編寫的一個免費的HTTP/HTTPS網絡調試器。英語中Fiddler是小提琴的意思,Fiddler Web Debugger就像小提琴一樣,可以讓前端開發變得更加優雅。

Fiddler是以代理服務器的方式,監聽系統的網絡數據流動。運行Fiddler後,就會在本地打開8888端口,網絡數據流通過Fiddler進行中轉時,我們可以監視HTTP/HTTPS數據流的記錄,並加以分析,甚至還可以修改發送和接收的數據。Fiddler還提供了清除IE緩存、請求構造器、文本轉換工具等等一系列工具,對前端開發工作很有價值。

2. 主要功能

  1. 分析頁面性能
  2. 分析http請求/響應數據
  3. 設置斷點,調試線上錯誤
  4. 僞造數據請求,調試數據接口

3. Fiddler的界面

fiddler

4. fiddler命令

常用命令:

  1. 選擇類:?text、>size、<size、=status、@host、
  2. blod text、select、allbut、keeponly
  3. 斷點類:bpafter、bps、bpv、bpm、bpu
  4. 控制類:hide、start、stop、show、quit
  5. 其他:cls/clear、dump、g/go、help、urlreplace

fiddler

5.使用fiddler進行數據分析

fiddler

6.代碼查看器-雙擊session(需下載插件,見後面)

fiddler 
利用查看器提供的很多形式,我們可以查看數據流的內容。

7.請求構建器(Request Builder)

fiddler 
可以創建任意數據的請求,如上,輸入url後點擊Execute按鈕

8.過濾器

fiddler 
過濾器可以對左側的數據流列表進行過濾,我們可以標記、修改或隱藏某些特徵的數據流。如上圖,通過過濾只展現host爲p.baidu.com的請求

9.AutoResponse功能

fiddler 
這個功能可以算的上是Fiddler最實用的功能,可以讓我們修改服務器端返回的數據,例如讓返回都是HTTP404或者讀取本地文件作爲返回內容。我們將在實例中介紹利用AutoResponse功能。

10.文本編碼和解碼

開啓Tools -> Text Encode/Decode,支持編碼:

  1. Base64編碼解碼
  2. URL Encode/Decode
  3. 十六進制編碼
  4. Unicode編碼解碼
  5. HTML實體化編碼解碼
  6. UTF-7編碼解碼
  7. Deflated 編碼解碼

fiddler 
提供了常用的一些文本編解碼的轉換。

11.模擬user-agent

在做mobile上的網頁開發時,經常需要修改user-agents爲iphone,如下圖 
fiddler 
而通過fiddler可以直接修改所有請求的user-agents,這樣很方便,默認沒有iphone的user-agents,需要自己修改配置——可以編輯fiddler Rules來增加和變更(Rules->Customize Rules

12.模擬慢速網絡

fiddler

13.對兩個數據流進行比較

fiddler

14.Fiddler提供加載時間瀑布圖

fiddler

15.Fiddler擴展插件安裝

  1. 代碼高亮插件 http://www.fiddler2.com/redir/?id=SYNTAXVIEWINSTALL

fiddler

  1. javascript代碼格式化插件 http://www.fiddler2.com/dl/FiddlerJSFormatSetup.exe安裝完畢後,在任何一條js請求後點擊右鍵,選擇Make Javascript Pretty
  2. Gallery http://www.fiddler2.com/dl/FiddlerGallerySetup.exe展現圖片

更多插件可以到官網下載。 
Fiddler插件官網下載:
http://www.fiddler2.com/fiddler2/extensions.asp

 

16.Fiddler的擴展機制

Fiddler 支持 Jscript.NET 引擎,可以很方便的修改 CustomRules.js 來擴展。修改後立即生效,開啓:Rules -> Customize Rules… 
Handles類兩個最重要的事件:

  1. OnBeforeRequest(oSession: Session)
  2. OnBeforeResponse(oSession: Session)

OnBeforeRequest範例

fiddler 
通過上面代碼,可以將js和css的session分別標示爲紅色和綠色,效果如下:

fiddler

17.爲啥有時捕獲不到:

  1. 手動修改瀏覽器代理ip地址爲:127.0.0.1:8888
  2. 檢查fiddler捕獲開關

fiddler

  1. 檢查過濾器設置(filters)

fiddler

發佈了132 篇原創文章 · 獲贊 12 · 訪問量 94萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章