Fiddler 抓包工具的使用

简介:https://blog.csdn.net/ohmygirl/article/details/17846199

抓包分析:https://blog.csdn.net/ohmygirl/article/details/17849983

命令行和http断点调试:https://blog.csdn.net/ohmygirl/article/details/17855031

自定义规则

下列设置中只能有一个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将线上文件指定到本地方便些,因为有可能依赖的文件很多,需要一个个都指定到本地,其实线上代码与本地代码的区别只是接口地址不一样。通过代理只改接口地址还是很方便。

使用方法:

1、打开自定义规则文件:菜单栏 > Rules > Customize Rules,快捷键 ctrl + r,文件路径C:\Users\用户名\Documents\Fiddler2\Scripts\CustomRules.js

2、添加如下代码,可根据需求自己改

// 设置一个开关自定义规则的名称
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";

    // 如果请求接口是 https 需要加这句
    oSession.fullUrl = "https" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(':'))
  }
}

 

posted on 2018-04-04 11:17  道法自然-法力无边  阅读(258)  评论(0编辑  收藏  举报

导航