为什么需要fiddler
配置微信jssdk需要配置js接口安全域名,属于线上的地址,只能在线上测试,如果想在本地调试,就得使用fiddler代理劫持访问地址并重定向本地服务器
安装fiddler
利用fiddler进行劫持
1.按照上面手机抓包的教程,我们已经可以像下面一样抓取到手机页面的请求
2.配置FiddlerScript
3.找到这个方法 加入这条if语句(当域名是微信设置的安全域名的时候劫持并从定向到127.0.0.1:3333这个地址),这样就可以把你公众号JS接口安全域名写上去,但是请求的内容却是本地代码库,安全域通过了,至此你就可以在本地愉快的调试jssdk了1
2
3
4
5
6
7
8
9
10
11static function OnBeforeRequest(oSession: Session) { //语法类似js
...
if(oSession.host.toLowerCase()=="微信设置的安全域名"){
oSession["ui-color"] = "yellow";
oSession.host="127.0.0.1:3333";
// oSession.fullUrl = "http" + oSession.fullUrl.Substring(oSession.fullUrl.IndexOf(':')); // 如果安全域名为为https协议则需要加上这一句,不需要则注释即可,关于更多fiddler script的用法在本文最下面有教程链接
}
...
}
4.手机访问微信公众号设置的安全域名
fiddler高级用法
总结
总的来说就是通过抓包工具对请求进行劫持并从定向的到本地的服务器,window系统可用fiddler,mac好像没有fiddler,可用其他抓包工具例如Charles进行劫持。