C# Fiddler插件實現(xiàn)網(wǎng)站離線瀏覽功能
有這么一種應(yīng)用場景:
你是做前端或APP開發(fā)的,需要調(diào)用服務(wù)端提供的接口,接口只能在公司內(nèi)網(wǎng)訪問;在公司外就無法調(diào)試代碼了。
想在公司外訪問怎么辦呢?
如果在公司的時候?qū)⑺薪涌诘捻憫?yīng)內(nèi)容都保存起來,就可以脫離服務(wù)端在本地模擬出來一個服務(wù)端環(huán)境,從而就可以不受網(wǎng)絡(luò)環(huán)境的限制愉快的調(diào)試代碼了。
實現(xiàn)原理如下:
先用Fiddler抓包,把你需要保存的接口(不僅限接口,html,css,js,image均可)都抓一遍。
在Fiddler中依次單擊如下菜單 File -> Save -> All Sessions,將抓到的所有請求保存為一個saz文件。
saz文件中即包含了請求/響應(yīng)的所有信息,是一個zip格式的文件,在raw目錄會有如下命名的文件,例如:
001_c.txt、001_s.txt、001_m.xml
001表示請求序號,例如:001,002,003
001_c.txt 是HTTP請求的完整信息(包含請求頭)
001_s.txt 是HTTP響應(yīng)的完整信息(包含響應(yīng)頭)
001_m.xml 是Fiddler Session的相關(guān)信息(本例中用不到)
有了請求/響應(yīng)信息,我們就可以寫一個Fiddler插件把saz里能匹配到的請求都用對應(yīng)的響應(yīng)替換,從而實現(xiàn)離線瀏覽功能。
代碼比較簡單我就不貼了,后面有完整代碼下載。
說下插件用法:
- 把saz解壓到一個目錄,在文本框處粘貼目錄路徑,多個saz路徑用換行分隔。其實這里可以做成直接粘貼saz文件路徑,由插件自動解壓更方便;我懶,沒做^_^
- 單擊“保存”
- 現(xiàn)在再訪問之前抓過的地址,就不走服務(wù)器了。
源碼下載:單擊下載
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
C# CancellationToken和CancellationTokenSource的用法詳解
做了.net core之后,發(fā)現(xiàn)CancellationToken用的越來越平凡了。這也難怪,原來.net framework使用異步的不是很多,而.net core首推異步編程,到處可以看到Task的影子,而CancellationToken正好是異步Task的一個控制器,所以花點時間做個筆記2021-06-06