zoukankan      html  css  js  c++  java
  • FiddlerScript修改特定请求参数下的返回值

    使用场景:

         api/Live/GetLiveList接口:

    (1)Type为1,接口返回直播列表

    (2)Type为2,接口返回回放列表

    现在想修改直播列表的返回值

    思路:

         利用FiddlerScript获取请求参数,请求中有指定参数时修改返回值。

    实现:

        FiddlerScript的OnBeforeResponse中增加处理代码:

     

     1 if (oSession.fullUrl.Contains("http://xxx.xxxxxx.com/api/Live/GetLiveList"))
     2         {
     3             
     4             // 获取Response Body、Request Body中JSON字符串,转换为可编辑的JSONObject变量
     5             var responseStringOriginal =  oSession.GetResponseBodyAsString();            
     6             var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
     7 
     8             var requestStringOriginal=oSession.GetRequestBodyAsString();
     9             var requestJSON = Fiddler.WebFormats.JSON.JsonDecode(requestStringOriginal);
    10             
    11             
    12             if(requestJSON.JSONObject['type']==1){ //请求参数中,若type为1,对返回值做如下修改
    13 
    14                 // 修改字段
    15                 responseJSON.JSONObject['Message'] = "获取成功修改后后";
    16                 responseJSON.JSONObject['Info']['LiveInfoList'][0]['LiveName']="直播测试5修改返回值后";
    17  
    18                 // 添加字段
    19                 var teacherinfo= '[{"name":"Wang", "title":"senior"},'+
    20                 '{"name":"Li", "title":"senior"}]';
    21                 responseJSON.JSONObject['teacherinfo'] = Fiddler.WebFormats.JSON.JsonDecode(teacherinfo).JSONObject ;
    22             
    23                 // 重新设置Response Body
    24                 var responseStringDestinal = Fiddler.WebFormats.JSON.JsonEncode(responseJSON.JSONObject);
    25                 oSession.utilSetResponseBody(responseStringDestinal);
    26             }
    27         }
    28 }

    效果:

     

    Type=1,修改前的返回值

     

    Type=1,修改后的返回值

     

    Type=2,返回值保持不变 

    参考资料:

    http://www.cnblogs.com/liumamxu/p/5118055.html

  • 相关阅读:
    pm2进阶使用
    javascript装饰器模式
    pupeteer初体验
    重构:从Promise到Async/Await
    # electron-vue 尝试做个网易云音乐
    Kafka监控:主要性能指标
    生产环境Rabbitmq集群安装部署与配置
    Java同步块(synchronized block)
    RabbitMQ高可用镜像队列
    kafka-0.9消费者新API
  • 原文地址:https://www.cnblogs.com/panxiaoming/p/6023963.html
Copyright © 2011-2022 走看看