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

  • 相关阅读:
    main函数的实现解析
    srand()和rand()函数的使用
    shell编程总结
    自动创建字符设备,不需mknod
    linux使用i/o内存访问外设
    Flink之state processor api原理
    Flink之state processor api实践
    软件架构被高估,清晰简单的设计被低估
    技术架构的战略和战术
    Flink task之间的数据交换
  • 原文地址:https://www.cnblogs.com/panxiaoming/p/6023963.html
Copyright © 2011-2022 走看看