如何在 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
如何在 Fiddler Script 中 自定义 修改 Request 、 Response的更多相关文章
- Thinkphp框架中自定义修改success和error页面
Thinkphp框架中自定义修改success和error页面 Thinkphp框架的默认success和error太难看,可以自定义设置,步骤如下: (注意:TP原框架中的success跳转有问题, ...
- 如何在logback.xml中自定义动态属性
当使用logback来记录Web应用的日志时,我们通过在logback.xml中配置appender来指定日志输出格式及输出文件路径,这在一台主机或一个文件系统上部署单个实例没有问题,但是如果部署多个 ...
- .net中自定义过滤器对Response内容进行处理
原文:http://www.cnblogs.com/zgqys1980/archive/2008/09/02/1281895.html 代码DEMO:http://files.cnblogs.com/ ...
- 如何在js文件中实现获取request.getCotextPath();
我们在jsp中可以方便的使用“request.getCotext()”来获取工程的根目录. 但是如果我们的js代码存在一个单独的js文件中,这时候再想获取根目录,我们就要自己截取了.可以采用下面的方式 ...
- 如何在spingboot项目中自定义自己的配置
在实际开发中,为了方便我们常常会考虑把配置文件的某一类配置映射到配置类上,方便spring容器加载,实现方法如下: 1. 书写配置文件信息:书写某一类特定字段开头的配置信息,例如在yml配置文件中可以 ...
- 如何在nlp问题中定义自己的数据集
我之前大致写了一篇在pytorch中如何自己定义数据集合,在这里如何自定义数据集 不过这个例子使用的是image,也就是图像.如果我们用到的是文本呢,处理的是NLP问题呢? 在解决这个问题的时候,我在 ...
- 对chain.doFilter(request,response)的理解
他的作用是将请求转发给过滤器链上下一个对象.这里的“下”指的是哪里 ? 指的是下一个filter,如果没有filter那就是你请求的资源. 一般filter都是一个链,web.xml 里面配置了几个就 ...
- 如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容?
原文:如何在ASP.NET Core自定义中间件中读取Request.Body和Response.Body的内容? 文章名称: 如何在ASP.NET Core自定义中间件读取Request.Body和 ...
- Fiddler中设置断点修改Request和Response
Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据.设置断点 ...
随机推荐
- Html链接标签:
<a>标签可以在网页上定义一个链接地址,它的常用属性有: (1)href属性 定义跳转的地址 (2)title属性 定义鼠标悬停时弹出的提示文字框 (定义鼠标悬停时,弹出的提示框中的文字) ...
- GitHub上传本地文件
基本条件:安装GitHub,安装成功之后:(windows系统) 1.安装完成后,还需要一步设置,在命令行输入: $ git config --global user.name "Your ...
- C_求两个日期相隔的天数(闰年)
#include <stdio.h> #include <math.h> int leap_year(int year){ == || (year%== && ...
- jquery美刀的释放
jQuery 和其他 JavaScript 框架 正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写. 如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办? 其 ...
- js的几个补充事件
在这里我做几个前面文章当中没有介绍的javascript补充事件 1.onscroll:当元素滚动条滚动时执行的事件: <div class="container"> ...
- HTML5 学习02——新元素:canvas
HTML5 Canvas <canvas>标签:使用脚本 (通常是JavaScript)来绘制图形——默认情况下 <canvas> 元素没有边框和内容. 在画布上(Canvas ...
- 说说GIL
上一篇:线程深入篇引入 Code:https://github.com/lotapp/BaseCode/tree/master/python/5.concurrent/Thread/3.GIL 说说G ...
- WordPress主题开发:footer.php
最简 <?php wp_footer();?> </body> </html>
- Mac 删除/卸载 自己安装的python
官网pkg安装的python版本 第一步:删除框架 sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 1 第二步:删除应用目录 ...
- OUTLOOK - Unable to Delete Meetings
Error Information: Resolved: Check Meeting room permission.Get-MailboxFolderPermission MeetingRoom_1 ...
