Fidder插件自动生成爬虫代码(C#)
原创,效果如下:

1、新建项目,并添加Fidder.exe的引用:

2、添加代码
[assembly: Fiddler.RequiredVersion("2.2.8.6")]
using Fiddler;
using System;
using System.Windows.Forms;
public class MyExtension : IHandleExecAction, IFiddlerExtension
{
private TabPage tabPage; //创建插件的选项卡页
private UserControl myCtrl; //UserControl
public MyExtension()
{
#region makeUC
var uc = new System.Windows.Forms.UserControl();
var txtCode = new System.Windows.Forms.RichTextBox();
txtCode.Dock = System.Windows.Forms.DockStyle.Fill;
txtCode.Location = new System.Drawing.Point(, );
txtCode.Name = "txtCode";
txtCode.Size = new System.Drawing.Size(, );
uc.Controls.Add(txtCode);
#endregion
//构造函数中实例化对象
this.myCtrl = uc;
this.myCtrl.Dock = DockStyle.Fill;
this.tabPage = new TabPage("Coder");//选项卡的名字为Test
}
public void OnLoad()
{
//将用户控件添加到选项卡中
this.tabPage.Controls.Add(this.myCtrl);
//为选项卡添加icon图标,这里使用Fiddler 自带的
this.tabPage.ImageIndex = (int)Fiddler.SessionIcons.Timeline;
//将tabTage选项卡添加到Fidder UI的Tab 页集合中
FiddlerApplication.UI.tabsViews.TabPages.Add(this.tabPage);
FiddlerApplication.UI.lvSessions.SelectedIndexChanged += LvSessions_SelectedIndexChanged;
}
public void OnBeforeUnload()
{
}
private void LvSessions_SelectedIndexChanged(object sender, EventArgs e)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
var sessions = FiddlerApplication.UI.GetSelectedSessions();
if (sessions != null)
{
if (sessions.Length > )
{
sb.Append(" HttpHelper httpHelper = new HttpHelper();\r\n");
}
foreach (var item in sessions)
{
sb.Append(Raw2Code(item.RequestHeaders.ToString(true, true, true)));
}
}
myCtrl.Controls[].Text = sb.ToString();
}
private string Raw2Code(string rawText)
{
return "请加QQ:351392535;www.shujucaiji.cn";
}
bool IHandleExecAction.OnExecAction(string sCommand)
{
string[] strArray = Utilities.Parameterize(sCommand);
var aa = FiddlerApplication.UI.GetAllSessions();
return true;
}
//public void AutoTamperRequestBefore(Session oSession)
//{
// /*在这编写请求之前需要执行的code */
//}
//public void AutoTamperRequestAfter(Session oSession)
//{
// /*在这编写请求之后需要执行的code */
//}
//public void AutoTamperResponseBefore(Session oSession)
//{
// /*在这编写响应之前需要执行的code */
// myCtrl.txtCode.Text = Raw2Code(oSession.RequestHeaders.ToString(true, true, true));
//}
//public void AutoTamperResponseAfter(Session oSession)
//{
// /*在这编写响应之后需要执行的code */
//}
//public void OnBeforeReturningError(Session oSession)
//{
// /*在这编写有错误返回时需要执行的code */
//}
}
3、编译并将dll拷贝到Fidder的Script目录下。
或者在:后期生成事件命令行中添加:copy "$(TargetPath)" "%ProgramFiles%\Fiddler2\Scripts\$(TargetFilename)"

4、打开Fidder
Fidder插件自动生成爬虫代码(C#)的更多相关文章
- SpringBoot系列: 使用MyBatis maven插件自动生成java代码
====================================pom.xml 文件====================================需要在 pom.xml 文件增加 m ...
- 【mybatis源码学习】利用maven插件自动生成mybatis代码
[一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybat ...
- Eclipse 使用mybatis generator插件自动生成代码
Eclipse 使用mybatis generator插件自动生成代码 标签: mybatis 2016-12-07 15:10 5247人阅读 评论(0) 收藏 举报 .embody{ paddin ...
- 使用Mybatis Generator插件自动生成映射文件(cmd无法进入文件,dns服务器对区域没有权威等问题)遇到问题
使用Mybatis Genertor插件自动生MyBatis所需要的DAO接口,实体模型类,Mapping映射文件,将生成的代码赋值到项目工程中即可. 有命令行,Eclipse插 ...
- Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类
Intellij IDEA集成mybatis-generator插件自动生成数据库实体操作类 转载至:https://blog.csdn.net/fishinhouse/article/details ...
- 借Adobe XD之力,自动生成Flutter代码
概述 今天,我们来聊聊一个专门为"懒人程序员"准备的工具--Adobe XD.使用它可以快速将原型设计图转换为可执行的Flutter代码, 而由于Flutter自身跨平台的特性,因 ...
- [Dynamic Language] 用Sphinx自动生成python代码注释文档
用Sphinx自动生成python代码注释文档 pip install -U sphinx 安装好了之后,对Python代码的文档,一般使用sphinx-apidoc来自动生成:查看帮助mac-abe ...
- Mybatis-Generator插件自动生成Dao、Model、Mapping相关文件
最近做项目,mapping 有点多而且容易写错,于是试着用了Mybatis-Generator 插件自动生成 dao, domain mapping 文件.感觉还挺好用.把相关配置分享,一边以后做项 ...
- wsdl自动生成Java代码,根据wsdl生成Java代码
wsdl自动生成Java代码,根据wsdl生成Java代码 >>>>>>>>>>>>>>>>>&g ...
随机推荐
- 并查集+优先队列+启发式合并 || 罗马游戏 || BZOJ 1455 || Luogu p2713
题面:P2713 罗马游戏 题解: 超级大水题啊,特别水.. 并查集维护每个人在哪个团里,优先队列维护每个团最低分和最低分是哪位,然后每次判断一下哪些人死了,随便写写就行 并查集在Merge时可以用启 ...
- k8sReplicaSet控制器
一.ReplicaSet概述 简称RS,是pod控制器类型的一种实现,用于确保由其管控的pod对象副本数在任一时刻都能精确满足期望的数量.ReplicaSet控制器资源启动后会查找集群中匹配其标签选择 ...
- 03-01 Django之视图层
Django之视图层 一 视图函数 视图函数,简称视图,属于Django的视图层,默认定义在views.py文件中,是用来处理web请求信息以及返回响应信息的函数,所以研究视图函数只需熟练掌握两个对象 ...
- electron-vue 引入 vue.ant.design报错
ERROR in ./node_modules/ant-design-vue/dist/antd.less (./node_modules/css-loader!./node_modules/less ...
- 有时间看看这个方法 会不会 避免 xss
Server.HtmlEncode 能将字符串原样输出 包括html标签
- JDK、JRE和JVM的区别与相互之间的联系
工作这么久,好多时间都在研究一些并发.多线程.分布式.框架等这些东西,但是前几天突然被人问到jdk.jre.jvm的区别与联系,瞬间觉得一脸懵逼,感觉还是有必要重新整理一下一些比较基本的java知识了 ...
- UOJ #460. 新年的拯救计划 神仙题+构造
对于这个神仙题,我还能说什么~ 第一个答案=$n/2$ 还是比较好猜的. 对于构造这个树,大概就是先从 $1$ 号节点向 $n/2$ 距离以内都连一条边,再在第 $n/2$ 个节点进行这个操作,然后从 ...
- 《Effective C++》结语
九月的这三周把<Effective C++>重读了一遍,尽量以自己的理解,用最简单的(其实太深入也不会写)的语言把书里面的重点都写了下来. 由于之前找实习占用了大量的时间,写的博客都比较水 ...
- 经典DP模型--回文词--IOI2000
[问题描述]回文词是一种对称的字符串--也就是说, 一个回文词, 从左到右读和从右到左读得到的结果是一样的. 任意给定一个字符串, 通过插入若干字符, 都可以变成一个回文词. 你的任务是写一个程序, ...
- STCubeMX软件新建Keil和IAR工程使用步骤:
STCubeMX软件新建Keil和IAR工程使用步骤:首先是软件下载(也可在我们的百度云下载):1.STCubeMX下载地址: http://www.stmicroelectronics.co ...