今天要测试某个app接口,就用花瓶去做了个域名映射,把app的请求转发到自己本机上的服务器。
做好了之后发现本机服务器并没有收到请求,还是向原有的域名去请求。
这里要把 https://sns.api.com/app/…
转发到 http://localhost:8080/local_app/…
只修改域名和一部分的路径
这是我当时的域名映射配置:
- [ Map From ]
- protocol: https
- host: sns.api.com
- port: 443
- path: /app/
- [ Map To ]
- protocol: http
- host: localhost
- port: 8080
- path: /local_app
但是不管用,之后我自己试了一下,改成如下格式就可以了:
- [ Map From ]
- protocol: https
- host: sns.api.com
- port: 443
- path: /app/*
- [ Map To ]
- protocol: http
- host: localhost
- port: 8080
- path: /local_app/
最后提醒一下,花瓶(Charles)仅支持解析,转发测试包的https请求,对于正式发布的app是不管用的。(好像只有在特别老的安卓版本上花瓶才能抓正式包的https请求)
22年6月6日修正:
并不是只能抓测试包,而是因为有些软件有防抓包功能,禁止请求走代理通道。不过有一种方法可以通过vpn的形式实现变向代理,需要在手机上安装一些软件,这种方式可以抓取绝大多是htts请求。