FiddlerScript详解
2017年11月08日 12:50:36 丫丫博客 阅读数:2580
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38208401/article/details/78471005
1、下载FiddlerScript插件安装至Fiddler目录
2、重启Fiddler即可
- ClassView展开API接口含义及使用方法
3、简介
FiddlerScript提供了请求/响应过程中的事件接口,通过这些接口,我们可以编写代码,注册自定义逻辑
4、OnBeforeRequest:每次请求之前调用
1)修改JSON参数
if(oSession.fullUrl.Contains("/api/v1/auth")){//根据fullUrl判断是否包含此串
var mylogin='{"username":"15575474050","password":"e10adc3949ba59abbe56e057f20f883e","captcha":null}';//更改后的JSON数据
var requestJson=Fiddler.WebFormats.JSON.JsonDecode(mylogin);
var reJsonDes=Fiddler.WebFormats.JSON.JsonEncode(requestJson.JSONObject);
oSession.utilSetRequestBody(reJsonDes);
}
- 1
- 2
- 3
- 4
- 5
- 6
使用任一账号登录,执行的结果均是:
2)将baidu的请求转发至hao123
if(oSession.HostnameIs("www.baidu.com")){
oSession.hostname = "www.hao123.com";
}
- 1
- 2
- 3
执行结果:
3)修改Headers
4)增加Headers:oSession.oRequest.headers.Add(“hi”,”test”)
5)删除Headers:oSession.oRequest.headers.Remove[“host”];
5、OnBeforeResponse:每次响应之前调用
1)修改JSON返回值
if(oSession.fullUrl.Contains("/com/apis?api=RESOURCE_LIST&id=2616&type=0")){//根据fullUrl判断是否包含此串
var reponseJsonString=oSession.GetResponseBodyAsString();//获取JSON字符串
var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(reponseJsonString);//转化为JSON数据,可编辑
var str='{"videos":[{"duration":157,"id":1837,"name":"平均数FiddlerScript","pay":0,'+
'"photoUrl":"http://v.leleketang.com/dat/ms/ma/k/thumb/18748.jpg","resourceCode":"LLKT_01",'+
'"showOrder":1,"videoUrl":"http://v.leleketang.com/dat/ms/ma/k/video/18748.mp4"}]}';//自定义JSON
responseJSON.JSONObject['data']= Fiddler.WebFormats.JSON.JsonDecode(str).JSONObject ;//转换需要
var myResponseJSON= Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);//转换需要
oSession.utilSetResponseBody(myResponseJSON);//设置ResponseBody中的JSON数据
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
执行结果:
2)将baidu网页请求返回的数据进行修改
if (oSession.HostnameIs("www.baidu.com") && oSession.oResponse.headers.ExistsAndContains("Content-Type","text/html")){
oSession.utilDecodeResponse(); //解码
oSession.utilReplaceInResponse("手机百度","嘿嘿");
}
- 1
- 2
- 3
- 4
执行结果: