fiddler使用
- fiddler的基本介绍
Fiddler的官方网站: www.fiddler2.com
Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowledgebase/quickexec
fiddler是一个web端的调试工具,可以很好的记录客户端和服务器之间的http和https请求,允许你抓取httpS请求、监听、打断点、修改请求数据、修改响应数据、限制网速等操作
你越了解fiddler,就越帮助你了解http请求
-
fiddler工作原理介绍
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的 程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。 -
fiddler设置
tools–>options中设置fiddler
上图为 设置抓取https请求在设置之后鼠标移动到actions选择信任证书Trust root certificate
在设置fiddler过程中如果打开的fiddler界面抓取不到数据,先检查一下当前的端口的设置,如果安装之后就提示端口被占用,可以修改端口8886,在修改端口之后一定需要重启fiddler -
抓取数据
该图片展示的是抓取的http请求,在该请求中展示了请求数据和相应数据 -
打断点
两种断点方式:
第一种为拦截所有的请求发送或者请求的响应,在菜单栏选择rules——>automatic Breakpoints–>Before Requests\After Responses
第二种为在QuickExec 中输入命令我在黑窗口中输入 bpafter www.baidu.com 可以指定拦截请求 -
修改请求数据
-
修改响应数据
-
限制网速
在fiddler中rules–>performance–>simulate modern speeds 打开请求延迟设置
请求和响应延迟设置地点为rules–>customize rules…
在fiddler页面增加请求时间的方法,
方法为:在rules–>customize rules…中
代码片段为:
function BeginRequestTime(oS: Session)
{
if (oS.Timers != null)
{
return oS.Timers.ClientBeginRequest.ToString();
}
return String.Empty;
}
public static BindUIColumn(“Time Taken”)
function CalcTimingCol(oS: Session){
var sResult = String.Empty;
if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
{
sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
}
return sResult;
}
备注:将代码粘贴到class中哈~