FiddlerScript 脚本使用正则表达式替换响应内容

发布于:2023-09-16 ⋅ 阅读:(78) ⋅ 点赞:(0)

使用 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 后查看

网站公告

今日签到

点亮在社区的每一天
去签到