Fiddler使用脚本更改RequestHeaders和RequestBody及ResponseBody中的JSON数据

在Rules菜单下:
这里写图片描述

此次更改请求 头 ,so go to OnBeforeRequest

这里写图片描述


-更改RequestHeaders中的内容

比如 更改www.baidu.com的“User-Agent”

这里写图片描述

if(oSession.host=="www.baidu.com"){//根据host判断
            oSession.RequestHeaders.Remove("User-Agent");
            oSession.RequestHeaders.Add("User-Agent","Dalvik/2.1.0 (Linux; U; Android 9.0.1; onePlus666 Build/MOB31K)");

}

ctrl+s保存后,再用浏览器刷新百度。出现↓
这里写图片描述

还可以这样玩
这里写图片描述


- 修改requestBody中的JSON数据

还是在模拟器里的app抓吧
找一个带JSON数据的head。

这里写图片描述

可以在textview中把文本复制下来,修改后
这里写图片描述

加入OnBeforeRequest

代码块

    if(oSession.fullUrl.Contains("/api/v9/login")){//根据fullUrl判断是否包含此串

            var mylogin='{"device_model":"onePlus3T","imei":"","loginType":1,"mac_address":"08:3A:C2:3E:F3:BE","os_version":"9.0.1"}';//更改后的JSON数据
            var requestJson=Fiddler.WebFormats.JSON.JsonDecode(mylogin);
            var reJsonDes=Fiddler.WebFormats.JSON.JsonEncode(requestJson.JSONObject);
            oSession.utilSetRequestBody(reJsonDes);
        }

保存,再次登录 就会发现请求信息//
这里写图片描述


-更改ResponseBody中JSON数据

Go->go to OnBeforeResponse定位到OnBeforeResponse函数

代码示例:

if(oSession.fullUrl.Contains("需修改url包含的标志性字段")){
            var reponseJsonString=oSession.GetResponseBodyAsString();//获取JSON字符串
            var responseJSON=Fiddler.WebFormats.JSON.JsonDecode(reponseJsonString);//转化为JSON数据,可编辑


            var str='{"key":"value"}';//自定义JSON


            responseJSON.JSONObject['data']= Fiddler.WebFormats.JSON.JsonDecode(str).JSONObject ;//转换需要
            var myResponseJSON= Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);//转换需要

            oSession.utilSetResponseBody(myResponseJSON);//设置ResponseBody中的JSON数据
        }

这里没有对原JSON数据修改,而直接定义了新的JSON数据替换


参考来源:
https://m.baidu.com/from=1086k/bd_page_type=1/ssid=0/uid=0/pu=usm@0,sz@320_1002,ta@iphone_2_6.0_2_7.3/t=iphone/l=3/tc?w=0_10_fiddler%E6%94%B9json&ref=www_iphone&lid=13615839547246047892&fm=alop&m=8&srd=1&nt=wnor&title=Fiddler%E8%84%9A%E6%9C%AC%E4%BF%AE%E6%94%B9Response%E6%95%B0%E6%8D%AE&dict=30&w_qd=&ntc=1&bdenc=1&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_yFZ0z3xokmyxP4kHREsRDb6NnTLJ5DhxWeCvB9Ex8_a0m9skNYWgK&tcid=j1urkwkc

猜你喜欢

转载自blog.csdn.net/qq_37299249/article/details/70558861