一、修改接口返回值,可以通过打断点的方式,查看返回值。但是一般修改返回值都是需要查看前端效果,而前端一般都有请求时间。所以推荐以下方式
1、首先抓包,确定要修改的接口,拿到正常的返回值
2、选中该请求,之后点击AutoResponder中Add Rule:
3、之后在Rule Editor中的第二栏选择“Create New Response...”:
4、点击Save,会弹出一个窗口,在弹窗中选择Raw栏,将抓包抓到的请求对应的Raw栏内容复制粘贴进去,然后将其中想要修改的部分进行修改,然后点击“Save”进行保存:
5、之后利用客户端请求此接口时,就会自动返回我们设置的值
二、利用script修改
Fiddler抓包工具,修改CustomRules.js脚本达到修改Http请求的Response中Body信息(如JSON串)
1、打开并编辑Customize Rule文件,在方法 OnBeforeResponse 中插入修改代码,重启Fiddler重新加载Rule,运行。
2、在脚本中进行编写:
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
// 判断是否为目标请求
var isMusicRequest = false;
if ((oSession.host == "m.baidu.com") && // host
oSession.fullUrl.Contains("suggest?ctl=his&action=list")) // url
{
isMusicRequest = true;
}
// 修改返回JSON串
if (isMusicRequest)
{
// 1, 获取Response Body中JSON字符串
var responseStringOriginal = oSession.GetResponseBodyAsString();
//FiddlerObject.log(responseStringOriginal); // 可在控制台中输出Log
// 2, 转换为可编辑的JSONObject变量
var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
// 3, 修改JSONObject变量
// 3.1修改字段
responseJSON.JSONObject['singer'] = "艾密莉亚·怀得堡";
// 3.2添加字段
var similarSong1= '{' +
'"music": "dying in the sun",'+
'"singer": "The Cranberries"'+
'}';
var similarSong2= '{' +
'"music": "seasons in sun",'+
'"singer": "WestLife"'+
'}';
var similarSong = '[' +
similarSong1 +
',' +
similarSong2 +
']';
responseJSON.JSONObject['similar song'] = Fiddler.WebFormats.JSON.JsonDecode(similarSong).JSONObject ;
// 4, 重新设置Response Body
var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
//FiddlerObject.log(responseStringDestinal);
oSession.utilSetResponseBody(responseStringDestinal);
}
}
3、重启fiddler