日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

使用c#开发Fildder插件抓取解析websocket数据

發布時間:2023/12/13 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 使用c#开发Fildder插件抓取解析websocket数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近有個需求,需要分析下websocket的數據,使用了chrome自帶的開發者工具,也嘗試了fiddler直接攔截,還嘗試了使用fiddler的Customize Rules。
本來Customize Rules已經可以滿足我的需求了,但是JScript .NET的語法實在用得我太難受了,開發效率極低。
還是拿出看門絕技c#!

其實使用c#編寫Fiddler的插件非常簡單,之前就做過一個攔截數據采集tiktok無水印視頻(就是有點累,需要手動到手機操作,效果還是很不錯)。

言歸正傳,打開vs新建一個dll類庫項目。
然后引用fiddler.exe,直接就是添加引用,然后瀏覽找到fiddler.exe的位置(我的是C:\Program Files\Fiddler\Fiddler.exe)。
如果你的插件帶窗體或者修改了fiddler的窗體,需要引用System.Windows.Forms。
再新建一個類實現IFiddlerExtension、IResponseInspector2、IWSMInspector接口,然后在AssignMessage函數里開始處理WebSocket數據,在OnLoad方法里面可以添加窗體顯示在fiddler內。

最后可以在項目屬性里面的生成事件里面加上:
這個是對所有用戶生效
copy "$(TargetPath)" "C:\Program Files\Fiddler\Scripts\$(TargetFilename)"
這個是對當前windows用戶生效
copy "$(TargetPath)" "%userprofile%\My Documents\Fiddler2\Scripts\$(TargetFilename)"

這樣每次生成都會自動復制到fiddler的腳本目錄,不過每次生成都要先關閉fiddler,否則會因為文件被占用而無法替換。

為了方便調試,可以直接把項目屬性>調試>啟動外部程序 ,然后選擇fiddler.exe。

踩坑記錄:
千萬不要直接使用WebSocketMessage的PayloadData屬性,讀出來的數據會有問題,一定記得要用PayloadAsBytes()方法。
實際開發中發現有的電腦無法進入AssignMessage方法,改用FiddlerApplication.OnWebSocketMessage。
如果發現你自定義的窗體沒有加載到fiddler里面,請實現IFiddlerExtension接口,在OnLoad方法里面添加窗體。

這里只是拋磚引玉,等我代碼寫完會上傳GitHub。

總結

以上是生活随笔為你收集整理的使用c#开发Fildder插件抓取解析websocket数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。