使用 Fiddler 进行抓包时,对特定 url 接口响应内容进行部分匹配替换处理,可以在 FiddlerScript 的 OnBeforeResponse 事件中编写代码来完成。
本文如下代码示例是对某接口请求中的特定内容进行替换处理,如下:
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
// 判断为指定URL接口
if (oSession.url.IndexOf("/api/detail.json")>-1) {
//decode响应体
oSession.utilDecodeResponse();
//普通字符串替换,不支持正则表达式
//oSession.utilReplaceInResponse("buttonType","buttonType111");
//下面是使用正则表达式替换(获取Body后改写Body内容在通过代码设置到响应中)
var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
//判断响应体中存在所需内容
if(oBody.IndexOf('"btnType":"05"')>-1){
//使用正则表达式替换目标内容
var oRegEx = /"btnType":"\d+"/gi;
oBody = oBody.replace(oRegEx, '"btnType":"01"');
//将处理后的Body设置到响应中
oSession.utilSetResponseBody(oBody);
}
}
}
更多关于 Fiddler 的脚本处理参考:https://www.kancloud.cn/cyyspring/test/935188
(END)
本文含有隐藏内容,请 开通VIP 后查看