• 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:UsersXXXXDocumentsFiddler2Inspectors 和C:Program Files (x86)Fiddler2Inspectors

          Scripts文件夹指的是:C:UsersXXXXDocumentsFiddler2Scripts和C:Program Files (x86)Fiddler2Scripts

          ImportExport文件夹指的是:C:UsersXXXXDocumentsFiddler2ImportExport和C:Program Files (x86)Fiddler2ImportExport

        fix: 在DocumentsFiddler2下可能只有 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%DocumentsFiddler2Scripts$(TargetFilename)"

      

    --------------------------分割线-------------------------------------------

    关于调试 可以直接使用vs附加进程 

  • 相关阅读:
    【BZOJ2749】【HAOI2012】外星人[欧拉函数]
    【BZOJ3675】【APIO2014】序列分割 [斜率优化DP]
    【BZOJ2326】【HNOI2011】数学作业 [矩阵乘法][DP]
    【BZOJ1996】【HNOI2010】合唱队 [区间DP]
    【BZOJ1857】【SCOI2010】传送带 [三分]
    【BZOJ2338】【HNOI2011】数矩形 [计算几何]
    【BZOJ2330】【SCOI2011】糖果 [差分约束]
    【BZOJ1095】【ZJOI2007】捉迷藏 [动态点分治]
    【BZOJ4031】【HEOI2015】小Z的房间 [Matrix-Tree][行列式]
    【FJWC2017】交错和查询 [线段树]
  • 原文地址:https://www.cnblogs.com/rufus-hua/p/5275980.html
Copyright © 2020-2023  润新知