FiddlerScript スクリプトは正規表現を使用して応答コンテンツを置き換えます

Fiddler を使用してパケットをキャプチャする場合、FiddlerScript の OnBeforeResponse イベントにコードを記述することで、特定の URL インターフェイスの応答コンテンツの部分一致と置換を行うことができます。

この記事の次のコード例は、インターフェイス リクエスト内の特定のコンテンツを次のように置き換えます。


    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


(終わり)

おすすめ

転載: blog.csdn.net/catoop/article/details/132900368