首页 > 其他分享 >whistle根据post请求入参不同进行代理

whistle根据post请求入参不同进行代理

时间:2022-11-18 16:33:26浏览次数:74  
标签:匹配 请求 入参 whistle mode post os

1、首先保证whistle更新到最新的版本,我用的是:2.9.22 版本;如需更新,跳转:http://wproxy.org/whistle/update.html

2、找到网站上的post请求:http://watchtower.jd.com/api/events/queryEventOSList

 

 

 入参是:

 

我们目标是匹配入参中的mode是os的就会代理:

3、首先在whistle中新建规则:

//watchtower.jd.com/api/events/queryEventOSList  reqScript://{reqScript.js} 

4、然后在 values 中新建:

 

if (/(?:^|&)mode=([^&]+)/.test(body)){
  var mode = RegExp.$1;
  if(mode == "os"){
    rules.push('* resBody://{ceshi.json}');
  }
}

解释一下上面代码的逻辑:

匹配到body请求内容中的mode参数,如果mode等于os,则匹配规则为返回的内容是value中的 ceshi.json 文件。

然后刷新页面,可以看到改post请求已经被替换了

 

 如果修改 mode == "android",则不会匹配打接口了。

 

标签:匹配,请求,入参,whistle,mode,post,os
From: https://www.cnblogs.com/xiaozhumaopao/p/16903681.html

相关文章