mac
1、下载安装包
官网下载:Download a Free Trial of Charles • Charles Web Debugging Proxy
版本:4.6.4 (建议使用该版本,比较稳定)
2、有效期:
打开Charles ==> Help ==> Register Charles => 输入
Registered Name : https://zhile.io
License Key:48891cf209c6d32bf4
3、安全证书
Charles顶部:Help -> SSL Proxying -> Install Charles Root Certificate 点击后自动打开钥匙串访问,请输入电脑开机密码
完成后会看到证书,双击证书,打开证书详情:展开信任
使用此证书时:修改为【始终信任】,关闭证书详情要求输入开机密码
4、设置代理端口:
配置Proxy>>proxy setting>>勾选support HTTP/2和Enable transparent HTTP proxying (支持HTTP/2协议和启用透明HTTP代理
可以添加通配符记录:
服务器端口查看:第3点中安装证书截图中有位置路径是 “ 顶部 >> Help >> SSL Proxying >> Install Charles Root Certificate on a Mobile Device or Remote Browser >> 弹出端口和域名 ”
5、手机端设置代理——连接同一网络,手动设置代理 ip+端口
6、手机端下载证书:
浏览器打开 https://chls.pro/ssl
7、手机端安装证书:
通用——描述文件与设备管理,安装后,再到 通用——关于本机——证书信任设置,开启信任
这样就可以抓到包了
8、使用抓包时发现电脑或手机访问某些地址打不开:
关闭白名单——关闭白名单:点击tools快捷键,Allow List 将下拉菜单的白名单前的勾去掉即可
9、电脑打开网页报错,关闭charles或手动关闭代理
有时关闭代理,网站还是无法正常访问,手动关闭 ,选择网络,代理取消勾选(以下均取消即可)——这样手机端抓包可能会有问题
10、remote功能
Tools——>Map remote
可以将开发环境remote到其他测试环境(前端页面一致情况下,可以利用remote测试后端接口)
11、charles打开后,网页访问报错
可以在Proxy--里面取消勾选macOS Proxy
12、无法抓包,看下电脑代理
这里开启Charles后默认勾选下方两个选项(如果有多勾选的建议关闭),关闭charls后会自动取消勾选以下两项
13、如果无法代理,尝试关闭防火墙
14、抓包接口返回 Charles Error Report
——重装证书
15、手机代理后仍无法正常抓包定位
- 安全证书是否已下载本机对应的(要先连本机代理后下载当前电脑的安全证书,每个电脑的安全证书不一样)
- 代理网络、IP地址是否与本机对应(换网络,IP地址也会变)
- 是否可正常打开其他网页(如baidu)——可以尝试先代理访问公网(关闭内网),可否正常上网(先看电脑,再看手机)——可以正常上网后,再尝试连接内网,手机打开内网是否正常
- 可以打开公网网页,但无法访问内网小程序——本机电脑是否已连接内网(可以尝试kill内网进程后重新连接尝试代理)
16、SSL证书过期(一年有效期),需要重新下载
charles的SSL证书有效期一年,有时发现突然抓包失败,可以尝试重新安装证书
17、突然无法抓包,重装证书
建议删除证书重新安装
遇到过一个下午无法抓包3次以上,重新装证书后解决
18、加断点,mock测试
- 接口右击或在目录栏增加断点
- 修改返回参数后,点击执行,页面根据修改参数渲染
-
注:接口有超时时间,要在接口超时时间范围内修改执行,不然浏览器上直接显示接口超时
其他问题解决:
1、无法通过官网地址下载证书
- 小米手机通过chls.pro/ssl 网页无法下载证书:关闭下载设置中的迅雷加速(有时下载别的东西又不可以了,再打开迅雷下载)
- 一个手机如果安装多个mac证书,访问chls.pro/ssl 网页无法下载证书——需要删除或禁用其他mac证书后,再下载本机证书
2、一个手机可以装多个mac证书(同一个mac换网络可能会要求重新装证书)
3、不同charles版本问题——有些版本不能remote到某些域名抓包;使用某一版本稳定后 建议不要换其他版本
4、内网连接问题
- 偶尔本机在连接内网,再开charles代理后,IP显示非192开头,可能是内网代理IP地址,导致无法正常抓包——可以尝试断掉内网(或尝试kill 进程),退出charles——先让电脑可以正常上网后——开启charles——连接内网;
- 内网连接顺序有要求,有些电脑是必须在代理前连接上,有些是可以代理后连接内网;
- 如果有域名需加白名单,本机IP可以访问(已加白),但是偶尔手机无法访问域名抓不到包:因为手机是单独的IP与电脑不一致,所以可以手机浏览器尝试访问域名,若为fobidden,则手机IP也需要加白后可正常访问。(from手机打不开小程序无法抓包经验)
- 代理后,尽量不要切换网络,切换会导致IP变化,代理IP不通等;
5、本机访问网络问题
- 偶尔打开网页会提示代理有问题或打不开等——等一等有时代理会不太稳定;或者关掉charles代理
- 本机IDEA自动化跑的时候报错(有时会,不是必现)——关掉charles代理;
- 电脑本机无法上网,关掉charles代理还是不行,尝试手动关闭代理