好久没用花瓶了, 今天正好有机会抓取数据回顾下.
1.0 扫盲
// 抓包用的:使用参考
http://www.cocoachina.com/ios/20180730/24360.html
1.1 模拟慢速
Proxy—>Throttle Settings—>勾选Enable Throtting
1.2 抓iPhone 的包
—> 抓http
1. 电脑上,Charles打开代理功能:
Proxy—>Proxy Settings—>Proxies—>勾选 【Enable transparent HTTP proxying】2. 电脑上,Charles获取本地IP地址
Help—>Local IP Address3. 手机连wifi(和电脑处于同一wifi下),在wifi详情中配置HTTP代理
设置—>无线局域网—>当前wifi 点击感叹号—>最底下【配置代理】—>手动->输入电脑ip和端口4. 电脑端点【Allow】
手机发起请求时,Charles会弹窗,请点【Allow】
—> 抓https
1. 电脑上,查看证书安装地址
Proxy—>Proxy Settings—>Install Charles Root Certificate on a Mobile Device or Remote Browse2. 手机上,输入电脑弹框中的地址,下载并信任该证书
1.3 查找 bug
当然, Charles并不仅仅只是用来抓取数据学习这么简单,对于程序媛程序猿们来说, 我们也可以利用它来查找 bug.
主要流程:
1.下载安装Charles
2.配置 Charles 根证书
3.在移动设备上配置证书
4.开始抓取数据
Step1. 下载安装Charles
这里我使用的 Charles 是 v4.0.2,安装包可自行百度下载.
当出现双击安装失败情况, 如下图:
则需要更改电脑配置:安全性与隐私里的通用改成任何来源.
但是可能没有这个任何来源选项, 这个时候需要在终端输入这行命令行即可.
sudo spctl --master-disable
打开 Charles, 展示主页面:
Step2. 配置 Charles 根证书
打开Charles配置按照下图操作:
接着会弹出钥匙串,这个时候根证书还是不被信任的.如下图:
因为系统默认是不信任 Charles 的证书的,我们就需要对证书右键,在弹出的下拉菜单中选择『显示简介』,点击使用此证书时,把使用系统默认改为始终信任,如下图:
当关闭后,就会发现 charles 的证书已经被信任了,如下图:
Step3. 在移动设备上配置证书
选择在测试移动设备上安装 Charles 根证书, 如下图:
选择完成后, 会弹出一个电脑IP地址及端口的提示框,如下图:
如果我们不小心关掉没注意的话, 也可以在网络中找到, 如下图:
进入手机网络设置界面填写:
接着安装上所需要抓取数据的 APP, 如果弹框是未受信任的企业级开发者, 我们则需要通用-设备管理里验证信任就好
若是App Store 的 APP 则需要打开手机的浏览器,输入charlesproxy.com/getssl
会弹出如下界面:
点击安装成功后,则为下图:
Step4. 开始抓取数据
如果当前界面还是没有获取到 https 的数据,我们在 Charles 的SSL Proxy Setting,如下图操作:
勾选Enable SSL Proxying
,点击添加,弹出下面的对话框,Host 表示你要抓取的 ip 地址或是链接,Port 填写 443 即可.
设置完成后,就可以抓取数据了.
至此, 就可以测试喽.