楼下有一家超市,偶尔有商品优惠,我就在思考能不能写个代码,定期获取优惠通知。
这个超市只有微信小程序,第一步就是把超市官方 API 域名转发到我的电脑上。在手机上设置静态 IP ,在 DNS 这栏,填入电脑的 IP ,然后在电脑上启动一个 53 端口的 DNS 服务,拦截官方域名到本地电脑 IP 。
这时,微信小程序的流量就全部转发到电脑上了。进行第二步操作,手机里导入自签名 ROOT 证书。电脑上对 HTTPS 域名进行动态自签名。本地建立一个 443 端口的 HTTPS 服务,进行 SSL 代理流量转发后,这时候就能看见 API 明文了,一般来说都是 POST 方法+JSON 结构。写一个自动化就搞定了。
遇到两个坑,DNS 有时候没生效,手机会走自己预设 DNS 服务器(换个路由器就好了,搞不懂)。后面一个是微信对自签名的时效性有要求,我默认签名了 40 年,被微信拒绝了。改成 1 年就好了。
这个超市只有微信小程序,第一步就是把超市官方 API 域名转发到我的电脑上。在手机上设置静态 IP ,在 DNS 这栏,填入电脑的 IP ,然后在电脑上启动一个 53 端口的 DNS 服务,拦截官方域名到本地电脑 IP 。
这时,微信小程序的流量就全部转发到电脑上了。进行第二步操作,手机里导入自签名 ROOT 证书。电脑上对 HTTPS 域名进行动态自签名。本地建立一个 443 端口的 HTTPS 服务,进行 SSL 代理流量转发后,这时候就能看见 API 明文了,一般来说都是 POST 方法+JSON 结构。写一个自动化就搞定了。
遇到两个坑,DNS 有时候没生效,手机会走自己预设 DNS 服务器(换个路由器就好了,搞不懂)。后面一个是微信对自签名的时效性有要求,我默认签名了 40 年,被微信拒绝了。改成 1 年就好了。
