疑问:我们在开发网站项目的时候,我们可以通过浏览器的debug模式来看request以及response的数据,那么如果我们开发移动端项目没有网页呢?如何抓取数据呢?
解决:Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request、response和HTTP headers
步骤:
1、安装
去Charles的官方网站:https://www.charlesproxy.com/download/ 下载最新版的相应操作系统的Charles安装包安装即可
2、电脑配置
- 下载完成之后打开,如果不是破解版的会有8秒的延迟,请耐心等待
点击Charles内任意地方,然后点击最上方的Help→SSL Proxying→Install Charles Root Certificate - 可以看到“此根证书不被信任”的提示,系统默认对Charles证书是不信任的
- 双击Charles Proxy CA证书,选择始终信任,点关闭,弹出账户密码验证,填一下就改好了
- 再次查看钥匙串,已被信任
- 配置抓取HTTPS端口 Proxy -> SSL Proxying Settings
- Host:* Port:443
- 这会勾选macOS Proxy 可以抓取到电脑上的请求了
3、手机配置
- 首先需要在手机上安装Charles证书
- 然后就可以在手机浏览器输入 chls.pro/ssl 下载证书
- 我们在调试移动APP时,需要抓取APP发送的数据包,首先进行设置,Proxy -> Proxy Settings默认端口是8888,根据实际情况可修改。
-
查看本机IP地址:Help -> Local IP Addresses
-
在同一个局域网内:手机:设置->无线局域网->wifi右边的!号->配置代理->手动->输入服务器和端口,服务器为上一步查询的本机ip地址,端口一般为8888
- 点击存储之后即可在Charles上抓到包啦~