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