1. 程式人生 > >基於FiddlerCore的.Net二次開發

基於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之後,一定要關閉,不然會影響使用者體驗