好久没用花瓶了, 今天正好有机会抓取数据回顾下.



当然, 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 即可.



设置完成后,就可以抓取数据了.



至此, 就可以测试喽.