本文主要介紹了C# Fiddler外掛實現網站離線瀏覽功能的原理與方法。具有很好的參考價值,下面跟著小編一起來看下吧
有這麼一種應用場景:
你是做前端或APP開發的,需要呼叫服務端提供的接口,接口只能在公司內部網路存取;在公司外就無法調試代碼了。
想在公司外訪問怎麼辦呢?
如果在公司的時候將所有介面的回應內容都保存起來,就可以脫離服務端在本地模擬出來一個服務端環境,從而就可以不受網路環境的限制愉快的調試代碼了。
實作原理如下:
先用Fiddler抓包,把你需要保存的介面(不僅限接口,html,css,js,image均可)都抓一遍。
在Fiddler中依序點選如下選單 File -> Save -> All Sessions,將抓到的所有請求儲存為一個saz檔案。
saz文件中即包含了請求/回應的所有訊息,是一個zip格式的文件,在raw目錄會有如下命名的文件,例如:
001_c.txt、001_s. txt、001_m.xml
001表示請求序號,例如:001,002,003
001_c.txt 是HTTP請求的完整資訊(包含請求頭)
#001_s .txt 是HTTP回應的完整資訊(包含回應頭)
001_m.xml 是Fiddler Session的相關資訊(本例中用不到)
有了請求/回應訊息,我們就可以寫一個Fiddler插件把saz裡能匹配到的請求都用對應的回應替換,從而實現離線瀏覽功能。
程式碼比較簡單我就不貼了,後面有完整程式碼下載。
說下外掛用法:
把saz解壓縮到一個目錄,在文字方塊處貼上目錄路徑,多個saz路徑以換行分隔。其實這裡可以做成直接貼上saz檔案路徑,由插件自動解壓縮更方便;我懶,沒做^_^
點擊「儲存」