Fiddler4插件開發實踐


Fiddler4 是一款 巴拉巴拉。。。。。

連接在這:http://www.telerik.com/fiddler

開發文檔在這:http://docs.telerik.com/fiddler/Extend-Fiddler/ExtendWithDotNet

-------分割線----------------------

  我們聊一聊你打算開發怎么樣的插件,因為Fiddler 提供的接口相對比較坑(→_→) 所以明確要開發一款什么插件很重要

  下面是科普時間: Fiddler4 公開接口有以下幾類 

    IFiddlerExtension,IAutoTamper,IAutoTamper2,IAutoTamper3 

      1、這幾個接口都是面向一個全局的插件,

      2、插件出現的位置和Log,TimeLine同級

      3、插件編譯成dll只能放到 Scripts文件夾下

    Inspector2,IResponseInspector2,IRequestInspector2

      1、這幾個接口是面向於單獨一個連接

      2、插件會出現Inspector這個菜單下 和 Headers,TextView 同級

      3、插件編譯成dll只能放到 Inspectors 文件夾下

    IHandleExecAction 這個接口可以讓你的控件接收到命令行傳來的命令,這個接口

    ISessionExporter,ISessionImporter

      1、顧名思義 批量對請求經行導入導出操作。例如批量導出為txt之類的

      2、位置出現在右鍵菜單Save-Selectd Session-中 和File-ImportSession 彈出的菜單中

      3、dll需要放到ImportExport中

 

    ps:位置如圖:

    ps2:如果你同時在一個dll中寫2中插件,Fiddler會根據你的dll在 Scripts還是Inspector下還是ImportExport 只能加載其中1種

    ps3:Inspector 文件夾指的是: C:\Users\XXXX\Documents\Fiddler2\Inspectors 和C:\Program Files (x86)\Fiddler2\Inspectors

      Scripts文件夾指的是:C:\Users\XXXX\Documents\Fiddler2\Scripts和C:\Program Files (x86)\Fiddler2\Scripts

      ImportExport文件夾指的是:C:\Users\XXXX\Documents\Fiddler2\ImportExport和C:\Program Files (x86)\Fiddler2\ImportExport

    fix: 在Documents\Fiddler2\下可能只有 Scripts文件夾沒有Inspectors與ImportExport 自己新建便可

    fix:不算接口的接口 如果你想對Fiddler4的主菜單動手那么:http://docs.telerik.com/fiddler/Extend-Fiddler/AddMenuItems

-------分割線----------------------

准備工作:

  1、安裝fiddler4 手動doge臉

  2、vs10以上(我演示用的vs13)

  3、開啟fiddler debug相關功能

    在這個位置輸入:

      

1 prefs set fiddler.debug.extensions.showerrors  True
2 prefs set fiddler.debug.extensions.verbose True

 

正式開始:

  1、新建一個C#類庫項目(fix 下圖注意選 net4 )

      

  2、對項目右鍵添加Fiddler4.exe引用

  

  3、在AssemblyInfo.cs文件中添加特定的屬性[assembly: Fiddler.RequiredVersion("4.6.2.0")] (如下圖 注因為我用的Fiddler4 版本是4.6.2.0)

  

  

  4、新建類繼承與前文中暴露出來的接口 !!!!注意新建!!!!這個類不能有命名空間

  如下代碼:

    

 1 public class MaiCheSettingView : IFiddlerExtension
 2 {
 3     public void OnLoad()
 4     {
 5         var view = new TestView();
 6         view.Dock = DockStyle.Fill;
 7         var tab = new TabPage();
 8         tab.Text = "相關設置";
 9         tab.Controls.Add(view);
10         FiddlerApplication.UI.tabsViews.TabPages.Add(tab);
11     }
12 
13     public void OnBeforeUnload()
14     {
15         //throw new System.NotImplementedException();
16     }
17 }

  其中TestView是用戶控件

  5、新建一個用戶控件(Winform的東西)-項目右鍵添加用戶控件

  

  6、編譯然后 將你的dll 拷貝到 Scripts中試試,看看成功了么?

    偶對了 如果覺得每次拷貝太復雜 可以嘗試一下操作:

    

copy "$(TargetPath)" "%userprofile%\Documents\Fiddler2\Scripts\$(TargetFilename)"

  

--------------------------分割線-------------------------------------------

關於調試 可以直接使用vs附加進程 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM