fiddler修改host,协议,请求转发

fiddler根据请求路径,修改host,协议,和请求转发

在进行公众号开发的时候,要调试微信的sdk,比如支付,必须要配置备案安全域名,并且在微信里面用域名打开,这样调试就很麻烦,因为每次修改都要打包文件,然后上传到服务器。

fiddler是一个神器,设置代理后,可以监控到所有的请求,并且随意修改,不管是请求数据还是响应数据,连host,也能修改

如果没有用过,先看看这篇,配置好https证书(https://www.jianshu.com/p/724097741bdf),然后再进行下面的操作

通过 Fiddler > Rules > Customize Rules 打开脚本,然后进行编辑,找到 OnBeforeRequest函数,在里面加入下面的代码

if (oSession.host=="baidu.com") { // 如果请求的域名是baidu.com
			// 如果请求的url里面包含匹配的字符串
			if (oSession.uriContains("/pages/")
					||oSession.uriContains("/subPages/pages/")
					||oSession.uriContains("/js/")
					||oSession.uriContains("/chunk/")) {
				
				oSession["ui-color"] = "blue"; // 修改捕获到的请求显示的颜色
				oSession.host = "192.168.10.45:10086" // 修改请求的host为同局域网的IP和端口
				/*
				// 此段代码容易报错,文件最好不要选C盘
				// 保存日志到文件
				oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况
				var fso;
				var file;
				fso = new ActiveXObject("Scripting.FileSystemObject");
				//文件保存路径,可自定义
				file = fso.OpenTextFile("C:\\Sessions.txt",8 ,true, true);
				//file.writeLine("Response code: " + oSession.responseCode);
				file.writeLine("oSession.fullUrl " + oSession.fullUrl);
				file.writeLine("\n");
				file.close();
				*/
				if (oSession.isHTTPS) {
					// 修改协议,把 https 修改为 http ,因为局域网是http,https访问不到
					oSession.oRequest.headers.UriScheme = "http"
				}
			}
			
        }

然后可以设置代理到fiddler,只要请求域名是 baidu.com,就会把请求的host修改,非常方便公众号调试。

文档:https://www.kancloud.cn/cyyspring/test/936258#_17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值