Web開發又一利器之 Fiddler 使用教程

fmms 12年前發布 | 187K 次閱讀 Fiddler 程序調試

1.引言

在當前web開發工具滿天飛的年代,很難想象當時在沒有這些工具的年代,我們是怎么挺過來的。既然時代已經賦予我們如此之多的精良工具,那么就在工作之中盡情享用吧。

在需要截獲客戶端與服務器端之間的通訊數據時,我們會使用httpwatch或firebug。

在跟蹤樣式或調試js代碼時,我們會在瀏覽器下按下F12,來啟用開發者工具;會在js代碼中加上debugger或借助開發者工具的斷點(breakpoint)進行逐步調試。

以上工具或方法都能很好的解決我們面臨的問題但如果服務器在遠程而非本地,在我們不能登錄到服務器的情況下,我們如何在代碼中添加debugger,或者又如何修改一些代碼嘗試看看運行效果呢?此時我們必須借助另一利器:Fiddler。

ps: Fiddler項目主頁及下載地址 www.fiddlertool.com  , 它是個免費軟件。 同類的商業產品有HTTPWatch:http://www.httpwatch.com 。

2.Fiddler代理工作原理

Fiddler是微軟開發的一個工具,可用來截獲本機與服務器之前的所有http通信,在這個過程中充當一個代理的角色。

在我們啟動Fiddler的時候,Fiddler便已經作為了一個代理服務器,如下圖所示:

Web開發又一利器之 Fiddler 使用教程

作為系統代理,所有的來自互聯網服務(WinInet)的http請求在到達目標Web服務器的之前都會經過Fiddler;同樣的,所有的Http響應都會在返回客戶端之前流經Fiddler。如下圖所示:

Web開發又一利器之 Fiddler 使用教程

3.Fiddler界面描述

Web開發又一利器之 Fiddler 使用教程

4.Fiddler請求中斷

可以進入菜單“Rules/Automatic Breakpoints”來設置對請求進行中斷,設計的時機可以是Before Requests、After Response。這樣我們就可以利用工具修改提交到服務器的數據信息(如:請求頭或請求體等),也可以修改從服務器端返回的數據。

  • 以下為截獲提交到百度的數據,我們可以對提交的信息進行修改。
  • </ul>

    Web開發又一利器之 Fiddler 使用教程

    • 以下為截獲到百度返回的數據,我們可以對返回的信息進行修改。(注意:如果返回的數據進行了壓縮,那么默認將為亂碼,可以使用頂部菜單“Rules/Remove All Encodings”來解碼。)
    • </ul>

      Web開發又一利器之 Fiddler 使用教程

      5.Fiddler請求內容替換

      Fiddler請求中斷”章節,我們已經介紹了如何修改提交到服務器端的數據及修改服務器端返回的數據,但如果覺得這樣仍不過癮,我們也可以完全用本地文件來代替需要從服務器下載的文件,這在我們診斷跟蹤一些js文件但卻不能修改js文件時非常有用。

      比如:在用瀏覽器測試P頁面時,P頁面引入了一個js資源文件R.js,由于R.js文件在服務器S上,而我此時又不能登錄S服務器(沒有S服務器的帳 號),此時我們就可以通過瀏覽器將R.js文件下載到本地,然后對本地的R.js文件進行調整,最后通過設置Fiddler,將R.js文件的請求使用本 地的R.js文件。截圖如下:

      其中

      EXACT表示完整匹配URL時,才進行映射處理

      regext:(?insx)表示可以使用正則來匹配哪些URL需要進行映射處理

      其他一些參數不再一一說明。

      Web開發又一利器之 Fiddler 使用教程
      來自:http://blog.csdn.net/yhawaii/article/details/7245625

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!