fiddler启动文件_如何成为Fiddler大神,请看这里!

原标题:如何成为Fiddler大神,请看这里!

什么是Fiddler?

Fiddler是一个HTTP/HTTPS协议调试代理工具, 它能够记录客户端和服务器之间的所有 HTTP/请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试WEB应用、修改请求的数据、修改服务器返回的数据。当浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过系统HTTP代理发送到服务器,Fiddler工作于七层中的应用层默认端口为8888,可以访问 http://127.0.0.1:8888 会显示Fiddler的页面。Fiddler工作原理如下:

注意啦!!!

踩过的坑:

当Fiddler开启的时候电脑意外重启或者是Fiddler开启情况下关机再启动时,电脑启动后无法正常访问网络?

真相只有一个:

当Fiddler启动时候会设置代理服务,当Fiddler意外退出时这个代理服务不会自动关闭,所以在电脑启动后默认使用的还是Fiddler的代理服务并且Fiddler没有启动,所以就不能上网了。(请叫我名侦探扣烂)

那么”名侦探扣烂”解决方法是啥?方法很简单,就是直接重新启动Fiddler就好了。

如何处理JsonP请求返回?

Fiddler 包含了一个脚本文件可以自动修改Http Request 和Response参数,这样我们就不需要手动下”断点”去修改了,实际上它是一个脚本文件CustomRules.js 位于: C:Documents and Settings[your user]My DocumentsFiddler2s下,你也可以在Fiddler 中打开CustomRules.js 文件, 启动Fiddler, 点击菜单Rules->Customize Rules…这种方式也可以编辑文件重点啦!!!

背景:

小编之前说目前的工作时负责测试信息流的APP,测试中经常需要修改请求的返回数据来测试客户端的显示和功能 ,图例:

Question:

返回中有”jsonp_callback_随机数”这样的一个参数,每次Request的callback都不同,而且请求还有超时时间,那么请问把问题解决一共要分几步?

//第一步:获取本地自定义ResponseBody

staticfunctionreadFile(filename)

{

//TODO:目前只支持了英文读写,后续需要支持中文

varfso = newActiveXObject( "ing.FileSystemObject");

varf = fso.OpenTextFile(filename, 1);

vars = "";

while(!f.AtEndOfStream)

s += f.ReadLine()+ "n";

f.Close();

returns;

}

//第二步:在OnBeforeResponse中替换请求中的content为自定义内容

// author @pengyue

if(oSession.HostnameIs("discover.ie.sogou.com") && oSession.uriContains('discover_agent')) {

// 1. 匹配 url.

// 2. 替换 response body - 替换请求content

oSession.utilDecodeResponse();

varbody = oSession.GetResponseBodyAsString();

varstring = readFile("C:UsersSuPengYueDesktopdiscover_agent");

varindex = body.indexOf('(');

varb = body.slice(0, index);

body = b +'('+ string +')';

oSession.utilSetResponseBody(body);

}

附带Fiddler进阶使用表:

更多精彩文章:

想学习更多~!请关注搜狗测试

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值