使用 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)