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

如何在 Fiddler Script 中 自定义 修改 Request 、 Response的更多相关文章

  1. Thinkphp框架中自定义修改success和error页面

    Thinkphp框架中自定义修改success和error页面 Thinkphp框架的默认success和error太难看,可以自定义设置,步骤如下: (注意:TP原框架中的success跳转有问题, ...

  2. 如何在logback.xml中自定义动态属性

    当使用logback来记录Web应用的日志时,我们通过在logback.xml中配置appender来指定日志输出格式及输出文件路径,这在一台主机或一个文件系统上部署单个实例没有问题,但是如果部署多个 ...

  3. .net中自定义过滤器对Response内容进行处理

    原文:http://www.cnblogs.com/zgqys1980/archive/2008/09/02/1281895.html 代码DEMO:http://files.cnblogs.com/ ...

  4. 如何在js文件中实现获取request.getCotextPath();

    我们在jsp中可以方便的使用“request.getCotext()”来获取工程的根目录. 但是如果我们的js代码存在一个单独的js文件中,这时候再想获取根目录,我们就要自己截取了.可以采用下面的方式 ...

  5. 如何在spingboot项目中自定义自己的配置

    在实际开发中,为了方便我们常常会考虑把配置文件的某一类配置映射到配置类上,方便spring容器加载,实现方法如下: 1. 书写配置文件信息:书写某一类特定字段开头的配置信息,例如在yml配置文件中可以 ...

  6. 如何在nlp问题中定义自己的数据集

    我之前大致写了一篇在pytorch中如何自己定义数据集合,在这里如何自定义数据集 不过这个例子使用的是image,也就是图像.如果我们用到的是文本呢,处理的是NLP问题呢? 在解决这个问题的时候,我在 ...

  7. 对chain.doFilter(request,response)的理解

    他的作用是将请求转发给过滤器链上下一个对象.这里的“下”指的是哪里 ? 指的是下一个filter,如果没有filter那就是你请求的资源. 一般filter都是一个链,web.xml 里面配置了几个就 ...

  8. 如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容?

    原文:如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容? 文章名称: 如何在ASP.NET Core自定义中间件读取Request.Body和 ...

  9. Fiddler中设置断点修改Request和Response

    Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据.设置断点 ...

随机推荐

  1. 函数(二):input、raw_input、lambda、repr、map、filter、reduce、eval、exec、range、xrange

    一.input()和raw_input(): input()支持用户输入数字或表达式,按类型存或存表达式的计算结果 raw_input():输入所有内容当成字符串存 二.lambda函数:匿名函数 l ...

  2. Mac使用Clion配置OpenGL

    Mac使用Clion配置OpenGL 之前博主是用Xcode配置的openGL,但后来因为要与非Mac队友合作,于是大家决定统一使用Clion,博主于是再次配置开发环境,这里记录一下 预先准备 Mac ...

  3. PAT基础6-2

    6-2 多项式求值 (15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑​i=0​n​​(a[i]×x​i​​) 在x点的值. 函数接口定义: dou ...

  4. Django REST framework API开发

    RESTful设计方法 1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https:/ ...

  5. oracle 10g 11g 12c区别

    oracle 10g 11g 12c区别

  6. ajax01

    ajax01 1.ajax简介 涉及AJAX的操作页面不能用文件协议访问 使用ajax发送请求: send参数缺省默认为null onreadyatatechange事件在状态改变时就会触发. .re ...

  7. centos安装系统全过程

    --查看系统 lsb_release -a --查看端口 netstat -lnp|grep 80 ps 进程ID #查看进程的详细信息 kill -9 进程ID --查看Java 版本 java - ...

  8. oracle去掉字段全部空格进行模糊查询

    sql如下: select * from pwlp_law_person where replace(name,' ','') like replace('吕 刚',' ','');

  9. [Canvas]空战游戏进阶 增加爆炸管理类

    点此下载源码,欲观看效果请用Chrome打开index.html 图例: 源码: <!DOCTYPE html> <html lang="utf-8"> & ...

  10. Keras/Tensorflow选择GPU/CPU运行

    首先,导入os,再按照PCI_BUS_ID顺序,从0开始排列GPU, import os os.environ["CUDA_DEVICE_ORDER"] = "PCI_B ...