首先点击菜单栏中的Rules->Customize Rules(Crtl+R)打开脚本编辑器。千万千万不要直接点击Fiddler右侧的Fiddler Script,在那里面直接改是不生效的。

抛砖引玉就举一个例子来讲吧

修改Response里的JSON内容

假设请求的接口为 http://test.example.com/api/test

响应内容为

{"ret": "OK","data": {"id": 1001,"name": "James"}
}

我们想把Response里面的name改成Jack,其他不变,可以使用如下代码实现

首先找到static function OnBeforeResponse(oSession: Session)

在下面追加如下代码:

static function OnBeforeResponse(oSession: Session) {if (m_Hide304s && oSession.responseCode == 304) {oSession["ui-hide"] = "true";}//下面为追加代码if(oSession.fullUrl.Contains(http://test.example.com/api/test)){var responseStr = oSession.GetResponseBodyAsString(); //获取响应内容var jsonStr = Fiddler.WebFormats.JSON.JsonDecode(responseStr); //解析JSON,如果需要改变的是Body内容,则不需要解析JSON这步jsonStr.JSONObject["data"]["name"] = "Jack";var mod_json = Fiddler.WebFormats.JSON.JsonEncode(jsonStr.JSONObject); //封装修改后的JSON,如果需要改变的是Body内容,则不需要封装JSON这步oSession.utilSetResponseBody(mod_json); //将封装后的JSON放入Response中}
}

如果我需要把id前面两个数字改为id_,则使用正则匹配比较方便,代码如下:

static function OnBeforeResponse(oSession: Session) {if (m_Hide304s && oSession.responseCode == 304) {oSession["ui-hide"] = "true";}//下面为追加代码if(oSession.fullUrl.Contains(http://test.example.com/api/test)){var responseStr = oSession.GetResponseBodyAsString(); //获取响应内容var jsonStr = Fiddler.WebFormats.JSON.JsonDecode(responseStr); //解析JSON,如果需要改变的是Body内容,则不需要解析JSON这步var reg_ex = /\d\d/; //正则表达式var id = jsonStr.JSONObject["data"]["id"]; //取出旧的id值var new_id = id.replace(reg_ex, "id_"); //使用正则将 1001替换为id_01jsonStr.JSONObject["data"]["id"] = new_id; //将新的id值赋值到id字段var mod_json = Fiddler.WebFormats.JSON.JsonEncode(jsonStr.JSONObject); //封装修改后的JSON,如果需要改变的是Body内容,则不需要封装JSON这步oSession.utilSetResponseBody(mod_json); //将封装后的JSON放入Response中}
}

通过Fiddler Script替换请求/响应内容相关推荐

  1. HTTP之请求响应内容详解

    (尊重劳动成果,转载请注明出处:http://blog.csdn.NET/qq_25827845/article/details/54562339冷血之心的博客) 目录 HTTP协议(重点) 1 安装 ...

  2. Web Service之Soap请求响应内容中文编码解密

    java模拟Soap请求测试Web Service接口,发现Web Service响应内容中的中文竟然是编码格式.比如: 中文:退保成功 Soap中文编码:退保成功 我仔细分析后发现,退编码实际上就是 ...

  3. http请求响应的组成部分的介绍 用cherome查看请求响应内容 curl命令行的使用

    http请求由3部分组成:请求行 + 请求头 + 请求体 上面是一个GET,和POST请求实例 (1)请求行:由三个组成---请求HTTP的方法,URL,http版本,之间用空格分隔开 (2)请求头: ...

  4. F12 界面:请求响应内容 Preview 和 Response 不一致、接口返回数据和 jsp 解析到的内容不一致

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 情况描述: 我有一个接口只是简单的查询列表数据并返回给前端作一个表格展示. 接口返回的 use ...

  5. HTTP(http+抓包Fiddler+协议格式+请求+响应)

    目录

  6. fiddler拦截请求、篡改响应内容、模拟弱网

    用途:用于一些安全性方面的校验,例如修改密码中间有一个步骤需要校验手机验证码,如果拦截接口返回的数据将失败修改为成功,在发送给浏览器,就能绕过验证码直接输入新密码 1.拦截请求 在浏览器发起请求直接在 ...

  7. java response 输出流_java-springmvc+filter 替换输出流、response、响应内容

    java-springmvc+filter 替换输出流.response.响应内容 一.问题 1.描述:在使用 filter 替换.修改 response 输出内容时常见的错误如下异常提示 getWr ...

  8. wireshark Fiddler抓包分析与解密https Fiddler修改https请求和响应

    Https理论 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为 ...

  9. java post xmll_HttpClient发送Post请求,内容格式为xml,并获取响应内容

    ChannelDistributor.xml 内容如下: yisou abcd1234 10010000 00 1).HttpClient发送Post请求,内容格式为xml,并获取响应内容 impor ...

最新文章

  1. mysql忘记密码,如何重置密码
  2. 策略模式和工厂模式的区别_设计模式之工厂模式-工厂方法模式
  3. 配置Ubuntu系统环境变量
  4. Gremlin发布混沌工程实验平台免费版,开放了“故障即服务”功能
  5. 统一沟通-技巧-9-Lync 2010-Outlook 2010-自动配置-1-IT人员
  6. Linux企业级项目实践之网络爬虫(29)——遵守robots.txt
  7. oracle删除的数据没有commit,在Oracle中误删除数据后并commit后的数据恢复办法
  8. 移植opencv2.4.9到android过程记录
  9. linux检查nfs服务,Linux-nfs服务
  10. Eclipse ADT Bundle 整合包下载地址(百度网盘)
  11. 多路测温系统C51语言,51单片机多路DS18B20温度测量程序
  12. GooFlow插件IE8及以下报无法设置未定义或 null 引用的属性“value”错误
  13. 大数据分析平台架构(Big Data Analytics Platform)
  14. 《大型多人在线游戏开发》读书笔记
  15. 迁移学习:他山之石,可以攻玉【VALSE Webinar】Panel实录
  16. 运行 Visual Studio 2019当前页面的脚本发生错误解决方法
  17. 关于错误local variable ‘str‘ referenced before assignment
  18. 2017,我对自己狠一点,也要对自己好一点
  19. WiFi慢不一定是信号不好,这几招让你上网更顺畅
  20. oracle 索引的创建和生效

热门文章

  1. 解决Chrome和Chrome内核edge浏览器在启用硬件加速后颜色异常的问题
  2. nginx 配置https 代理http接口
  3. bibitem排版引用顺序不正确,最后一页两栏平衡
  4. Matlab的bsxfun函数
  5. 使用poi导出excel生成复杂多级表头通用方法
  6. 使用python快速搭建接口自动化测试脚本实战总结
  7. 植物大战僵尸:寻找葵花生产速度
  8. Oracle SQL Developer如何配置
  9. 网络曝光华为自研操作系统“鸿蒙” (图)
  10. vue——数字加逗号分隔