前提
需要先安装抓包工具Charles
安装后的代理基本设置
- 调出端口设置页面 菜单栏操作 Proxy->Proxy Settings…
2. 设置端口
选中Proxies面板->HTTP Proxy 下的Port: 后填入 8888 -> 点击OK完成
3.设置手机代理
和电脑连接相同网络, 点击代理; 选择手动,服务器内容填写电脑的ip, 端口:8888
4.效果查看
打开手机的浏览器,查看Charles是否捕获到了网络请求注意:
当前只能抓取http的包内容, 是不能直接查看https请求内容的,因为请求本身是加密的。
抓取https请求的设置
-
手机安装证书
手机浏览器输入框选的这个地址,
记得加协议头http://访问的, 直接下载描述文件到本地, 查看当前下载的描述文件:设置->通用->VPN与设备管理->Charles Proxy CA 点击安装; (如果有多个建议可以把之前的全删除, 在重新下载描述文件,防止有缓存)
2.Charles设置代理https
菜单栏操作 Proxy->SSL Proxying Settings…
开启SSL代理->输入要抓取https接口的域名->OK
3. 效果查看
备注: 如果抓取接口是https并且开启了证书校验,则抓包是不成功的, 需要使用代码在网络请求处把证书校验给关闭, 代码如下:
// 是否允许无效证书, 默认为NOmanager.securityPolicy.allowInvalidCertificates = YES;// 是否校验域名, 默认为YESmanager.securityPolicy.validatesDomainName = NO;