抓取HTTPS数据
安装好Charles后,还需要下载Charles证书.
这里是Charles的一些文档说明:
https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
从它的说明文档里可以看出,iOS设备需要设置如下几步:
- 在"设置"app里设置Charles作为手机的代理.
- 在Safari里输入http://www.charlesproxy.com/getssl,安装证书.
只有安装了证书之后才能抓取到HTTPS的数据,否则看到的都是一堆乱码.此时再去打开一个app,一般来说,Charles会弹出一个对话框,选择allow就可以了.
但是今天遇到个奇葩的问题,Charles和手机都正常设置,但是Charles死活没有弹出那个对话框,手机也没网可用.后面干脆换了一个WiFi,结果就正常了,浪费了好多时间.
下面是网易iOS客户端某个HTTPS接口的一些数据:
再来个HTTP的接口数据:
ps:Charles能够抓取HTTPS接口的数据,其实利用的是中间人攻击的办法.如果某个APP设置了不允许无效的证书,那么上述方法也将不能够抓取到任何数据.我说怎么今天抓网易的一个都不行了!