zoukankan      html  css  js  c++  java
  • 如何在 Fiddler Script 中 自定义 修改 Request 、 Response

    Fiddler是一个http协议调试代理工具,方便进行http请求的拦截处理、改写请求、返回值等。

    在Rules菜单下: 
    这里写图片描述

    此次更改请求 头 ,so go to OnBeforeRequest

    这里写图片描述

    或者

     

    -更改RequestHeaders中的内容

    //根据host判断
    if(oSession.host=="www.baidu.com"){
        oSession.RequestHeaders.Remove("User-Agent");
        oSession.RequestHeaders.Add("User-Agent","Dalvik/2.1.0 (Linux; U; Android 9.0.1; onePlus666 Build/MOB31K)");
    }

    -请求重定向,路径重写

    //请求拦截
    var isTelecomAuth: boolean = false;
    if(oSession.host == 'www.xxxxxx.com' && oSession.url.Contains("/api/")){
        isTelecomAuth = oSession.url.Contains("/api/web/telecom/getTel");
        isTelecomAuth = isTelecomAuth || oSession.url.Contains("/api/web/telecom/addAuthRecord");
        
        //如果不是运营商授信,进行拦截
        if(!isTelecomAuth){
            oSession.host = 'api.xxxxx.com';
            oSession.url =  oSession.url.Replace("/api/", "/");   
        }
    }

    -更改ResponseBody中JSON数据

    Go->go to OnBeforeResponse定位到OnBeforeResponse函数,在末尾添加:

    if(oSession.host == 'www.xxxx.com' && oSession.url.Contains("/api/xxx")){
        //更改后的JSON数据
        var mylogin='{"uids":[200005445],"card_type":1,"cmd":"2124525","token":"26fed74802233c112bb7e9fcb97a11ac"}';
        var requestJson=Fiddler.WebFormats.JSON.JsonDecode(mylogin);
        var reJsonDes=Fiddler.WebFormats.JSON.JsonEncode(requestJson.JSONObject);
        oSession.utilSetRequestBody(reJsonDes);
        
        //替换字符串
        //var strBody = oSession.GetRequestBodyAsString();
        //oSession.utilSetRequestBody(strBody.Replace("com.jyblife.risk.profile.service.AuthStateService","com.jyblife.risk.profile.service.AuthStateService"));
        
        //打印修改后的内容
        //MessageBox.Show(oSession.GetRequestBodyAsString());    
    
    }

    这里没有对原JSON数据修改,而直接定义了新的JSON数据替换。

    PS:

    https://blog.csdn.net/qq_37299249/article/details/70558861

    https://www.cnblogs.com/yanjc/p/6716733.html

  • 相关阅读:
    MySql 5.6以下版本自定义函数返回VARCHAR的中文问题
    解决Tomcat的java.lang.IllegalStateException: Cannot create a session after the response has been committed问题
    Lucene自定义规则范围查询
    JS吊炸天的代码
    又是正则
    JS显示指定字符数,避免一个中文两个字符的情况
    PostgreSql查看当前表的主外键关系
    java基础(个人学习笔记) A
    Elasticsearch5.5.1插件开发指南
    ElasticSearch5.5.1插件分类
  • 原文地址:https://www.cnblogs.com/phpdragon/p/10577556.html
Copyright © 2011-2022 走看看