当前位置: 移动技术网 > IT编程>开发语言>JavaScript > fiddler修改host,协议,请求转发

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

2020年07月29日  | 移动技术网IT编程  | 我要评论

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

本文地址:https://blog.csdn.net/cs840610862/article/details/107631451

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网