基於FiddlerCore的.Net二次開發
一、FiddlerCore是什麼
Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊。Fiddler 是用C#寫出來的,它包含一個簡單卻功能強大的基於JScript .NET 事件指令碼子系統,它的靈活性非常棒,可以支援眾多的http除錯任務,並且能夠使用.net框架語言進行擴充套件。FiddlerCore正是Fiddler最底層的實現,其和Fiddler的關係可以見下圖。
二、一個最簡單的demo
1. 準備工作
a) 引入dll,using Fiddler;
2. 開啟代理
設定代理埠號8877
3. 關閉代理
4. BeforeRequest&BeforeResponse事件
這兩個事件回撥,在每次http請求的Request和Response的時候都會被觸發,那麼關鍵就在於這個Session物件。
三、Session物件
查閱手冊,看幾個關鍵的方法和變數:
//獲得Request體
oSession.GetRequestBodyAsString()
//獲得Response內容
oSession.GetResponseBodyAsString()
// 修改session中的顯示樣式
oSession["ui-color"] = "orange";
// 移除http頭部中的MQB-X5-Referer欄位
oSession.oRequest.headers.Remove("MQB-X5-Referer");
// 修改http頭部中的Cache-Control欄位
oSession.oRequest["Cache-Control"] = "no-cache";
// 修改host
oSession.host = "example.domain";
// 修改Origin欄位
oSession.oRequest["Origin"] = "http://domain";
// 刪除所有的cookie
oSession.oRequest.headers.Remove("Cookie");
// 新建cookie
oSession.oRequest.headers.Add("Cookie", "username=cookiename;");
// 修改Referer欄位
oSession.oRequest["Referer"] = "https://yoururl";
四、總結:
1.開啟了FiddlerCore之後,一定要關閉,不然會影響使用者體驗