基于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之后,一定要关闭,不然会影响用户体验

         2.介绍的比较粗,但是常用功能都在这里了,详细可以参考网站http://www.telerik.com/fiddler/fiddlercore

你可能感兴趣的:(.net)