抓包工具 Fiddler使用简介

自定义规则

以下设置中只能有一个OnBeforeResponse和OnBeforeResponse,下面只是为了方便演示代码位置才写了多个

修改请求

static function OnBeforeRequest(oSession: Session) {
  if (oSession.uriContains("https://clientdispatch.10086.cn/biz-V2.2/SHD/goodsAttr/getGoodsAttr")) {
    oSession.utilReplaceInRequest('"prodId": 1016995', '"prodId": 11111')
  }
}

修改响应

static function OnBeforeResponse(oSession: Session) {
  if (oSession.uriContains("https://clientdispatch.10086.cn/biz-V2.2/SHG/verification/purchaseCMPForOldUser")) {
    oSession.utilReplaceInResponse('"status": "1"', '"status": "2"')
  }
}

修改url传参

static function OnBeforeRequest(oSession: Session) {
  if (oSession.uriContains("https://clientdispatch.10086.cn/leadeon-cmcc-static-test/v2.0/pages/mall/productwith/productwith.html")) {
    oSession.fullUrl = oSession.fullUrl.Replace("prodId=1017159", "prodId=111111");
  }
}

接口代理

使用场景

- 接口存在跨域问题 - 本地服务启动后,再将接口代理到正式环境,这样修改本地代码相当于修改的是线上代码,这对于修改线上bug很方便,比起之前通过fiddler将线上文件指定到本地方便些,因为有可能依赖的文件很多,需要一个个都指定到本地,其实线上代码与本地代码的区别只是接口地址不一样。通过代理只改接口地址还是很方便。

使用方法

+ 打开自定义规则文件:菜单栏 > Rules > Customize Rules,快捷键 ctrl + r,文件路径D:\Fiddler2\Scripts\CustomRules.js 或者直接点击fiddlerScript 进行修改 ![](https://images2018.cnblogs.com/blog/1166521/201805/1166521-20180525102556638-1751376128.png)
  • 添加如下代码,可根据需求自己改
 public static RulesOption("随便取一个名字")
 // 设置开关自定义规则的名称
 var m_Proxy: boolean = false;
 // 规则默认开启状态
 static function OnBeforeRequest(oSession: Session) {
   if (m_Proxy && oSession.uriContains("/biz-orange/")){
     oSession.host = "download.huanqiulama.com";
      // 请求之前规则
     // if (m_Proxy && oSession.uriContains("/**/")||oSession.uriContains("/**/")){
     // oSession.host = "app.10086.cn";
      // 以上是修改后的规则
     oSession.fullUrl = "https" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(':'))
      // 如果请求接口是 https 需要加这句
   }
 }
posted @ 2018-05-25 10:29  沐荍  阅读(620)  评论(0编辑  收藏  举报