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相关功能

    在这个位置输入:

      

 prefs set fiddler.debug.extensions.showerrors  True
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、新建类继承与前文中暴露出来的接口 !!!!注意新建!!!!这个类不能有命名空间

  如下代码:

    

 public class MaiCheSettingView : IFiddlerExtension
{
public void OnLoad()
{
var view = new TestView();
view.Dock = DockStyle.Fill;
var tab = new TabPage();
tab.Text = "相关设置";
tab.Controls.Add(view);
FiddlerApplication.UI.tabsViews.TabPages.Add(tab);
} public void OnBeforeUnload()
{
//throw new System.NotImplementedException();
}
}

  其中TestView是用户控件

  5、新建一个用户控件(Winform的东西)-项目右键添加用户控件

  

  6、编译然后 将你的dll 拷贝到 Scripts中试试,看看成功了么?

    偶对了 如果觉得每次拷贝太复杂 可以尝试一下操作:

    

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

  

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

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

最新文章

  1. Android笔记——数据库升级与降级
  2. java运行环境和运行机制
  3. 普华永道高级JAVA面试记录
  4. JAVA并发,后台线程
  5. 【Yom框架】漫谈个人框架的设计之一:是IRepository还是IRepository<T>?
  6. 数据库DateTime类型为空的处理
  7. Linux标准目录
  8. windows驱动程序wdf--KMDF大致框架
  9. .gvfs: Permission denied
  10. 【CF526F】Pudding Monsters
  11. MVC实战之排球计分(五)—— Controller的设计与实现
  12. 添加APP右上角数字提醒标识
  13. Document对象关于窗口的一些属性
  14. IOS 此时无法安装XXX
  15. mybatis的一级缓存和二级缓存(1)
  16. SlidingMenu开源项目 -- ReadMe.md翻译
  17. 2018/7/19 考试(tower,work,holes)
  18. jquery-post 异常
  19. Java---杨辉三角简易解法(通俗易懂,逻辑严密)
  20. composer-安装插件包

热门文章

  1. jquery ajax事件执行顺序
  2. HDU 1495 非常可乐【BFS/倒水问题】
  3. CF 115 A 【求树最大深度/DFS/并查集】
  4. 树链剖分【CF343D】Water Tree
  5. [BZOJ3944]Sum(杜教筛)
  6. [CTSC2017]密钥
  7. 【对询问分块】【主席树】bzoj2683 简单题
  8. 小白的Python之路 day4 不同目录间进行模块调用(绝对路径和相对路径)
  9. 焦点改变事件OnFocusChangeListener
  10. [Android Memory] 怎样使一个Android应用不被杀死