利用Charles抓取数据详细流程

7,017 阅读2分钟

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

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

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

至此, 就可以测试喽.