如何在 Fiddler Script 中 自定义 修改 Request 、 Response

Fiddler是一个http协议调试代理工具,方便进行http请求的拦截处理、改写请求、返回值等。

 

在Rules菜单下: 
这里写图片描述

此次更改请求 头 ,so go to OnBeforeRequest

这里写图片描述

 

或者

 

 

-更改RequestHeaders中的内容

//根据host判断
if(oSession.host=="www.baidu.com"){
    oSession.RequestHeaders.Remove("User-Agent");
    oSession.RequestHeaders.Add("User-Agent","Dalvik/2.1.0 (Linux; U; Android 9.0.1; onePlus666 Build/MOB31K)");
}

 

-请求重定向,路径重写

//请求拦截
var isTelecomAuth: boolean = false;
if(oSession.host == 'www.xxxxxx.com' && oSession.url.Contains("/api/")){
    isTelecomAuth = oSession.url.Contains("/api/web/telecom/getTel");
    isTelecomAuth = isTelecomAuth || oSession.url.Contains("/api/web/telecom/addAuthRecord");
    
    //如果不是运营商授信,进行拦截
    if(!isTelecomAuth){
        oSession.host = 'api.xxxxx.com';
        oSession.url =  oSession.url.Replace("/api/", "/");   
    }
}

 

-更改ResponseBody中JSON数据

Go->go to OnBeforeResponse定位到OnBeforeResponse函数,在末尾添加:

if(oSession.host == 'www.xxxx.com' && oSession.url.Contains("/api/xxx")){
    //更改后的JSON数据
    var mylogin='{"uids":[200005445],"card_type":1,"cmd":"2124525","token":"26fed74802233c112bb7e9fcb97a11ac"}';
    var requestJson=Fiddler.WebFormats.JSON.JsonDecode(mylogin);
    var reJsonDes=Fiddler.WebFormats.JSON.JsonEncode(requestJson.JSONObject);
    oSession.utilSetRequestBody(reJsonDes);
    
    //替换字符串
    //var strBody = oSession.GetRequestBodyAsString();
    //oSession.utilSetRequestBody(strBody.Replace("com.jyblife.risk.profile.service.AuthStateService","com.jyblife.risk.profile.service.AuthStateService"));
    
    //打印修改后的内容
    //MessageBox.Show(oSession.GetRequestBodyAsString());    

}

这里没有对原JSON数据修改,而直接定义了新的JSON数据替换。

 

PS:

https://blog.csdn.net/qq_37299249/article/details/70558861

https://www.cnblogs.com/yanjc/p/6716733.html

转载于:https://www.cnblogs.com/phpdragon/p/10577556.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值