背景:在日常开发中有时候会纠结怎么设计接口的数据结构,参考下同类的优秀 APP 也不失为一种好办法,于是我们需要拿同类 APP 来进行抓包。
首先,安装最新的 Charles 工具,下载地址:https://www.charlesproxy.com/download/
一、Http 接口抓包
- 配置 Charles 代理端口号:
在 Charles 上的菜单 Proxy ->Proxy Settings ->Port,Port 可以随便指定,默认取的 8888
![b177dab09cf7aec3c158a4aa7883ff7e.png](https://i-blog.csdnimg.cn/blog_migrate/16b84d35cb1d6902e820f61db25a5537.jpeg)
2. Android 手机连上与电脑同网段的 Wifi , 在手机的 Wifi 连接配置中,设置代理手动,在主机名输入运行 Charles 的电脑 IP 地址和端口号(默认 8888),就设置完成了。
![a0e514bf46b5b9ac7cfd8380d6ecd15d.png](https://i-blog.csdnimg.cn/blog_migrate/053843ef569ef57e065b3381b82a8e60.jpeg)
3. 这时在手机上操作应用,若是 Http 的请求就能在 Charles 上抓到包了。看到 Response 内容了,而对于 Https 请求还是 Failed,需要抓包 Https 的往下看
二、Https接口抓包
- Proxy -> SSL Proxiyng Settings ->勾选 “Enable SSL Proxying”,可点击下方的 Add 指定抓包固定 ip
![090da6c9444e16fcb888dc50746da313.png](https://i-blog.csdnimg.cn/blog_migrate/8391bfddfeccee73e27f2b72fd61ac85.jpeg)
2.选择安装证书。
2.1 安装证书到电脑,选择 Help->SSL Proxying->Install Charles Root Certificate 按提示安装即可;
在“加密套接字协议层(SSL)”一栏选择始终信任
2.2 安装证书到手机上,如下选择 Install Charles Root Certificate on a Mobile Device or Remote Browser
![aa627eb75044176ef8f48e115bbccc2e.png](https://i-blog.csdnimg.cn/blog_migrate/166107bbee3ca96c5bc1a7b0366258ad.jpeg)
根据以下提示,当手机连接的 Wifi 设置好代理后,打开手机浏览器输入 chls.pro/ssl 下载安装证书即可
![1ca41df9436a554ec6d474d553371978.png](https://i-blog.csdnimg.cn/blog_migrate/94ad6f2eb4b5c85f10cce07cfb3c5f66.jpeg)
3.手机访问应用,Charles 可以抓包了, Https 请求也能成功获取到 Response了
PS : 关于 Charles 乱码解决办法:按第二步选择安装证书即可
完。