1. 下载Charles,[官网地址](https://www.charlesproxy.com/download/latest-release/)
根据自己使用的系统下载对应的安装包即可
注:charles双击打不开,且安装的jdk版本为jdk11的,建议参考以下处理方法:https://blog.csdn.net/chaijunkun/article/details/121230563
(注释掉文件内容:C:\Users\10020***\.accessibility.properties)
2. 注册激活
2.1、点击Charles的Help菜单,选择Register Charles
2.2、在Registered Name输入https://zhile.io,在License Key输入48891cf209c6d32bf4
2.3、点击Register即可激活Charles
2.4、注册完成后点击OK重新启动即可
3. 配置SSL,即配置要抓取的域名
3.1、点击Proxy菜单,选择SSL Proxying Setting
3.2、进去的第一栏是SSL Proxying,首先确定Enable SSL Proxying是否勾选上,如果没有请勾选
3.3、SSL Proxying包含两个配置,一个是Include,里面配置需要抓取的域名,Exclude配置的是不抓取的域名
3.4、点击Include下方的Add按钮,添加一个需要抓包的域名和端口号,端口号默认填写443
3.4、在Host中输入:*.shein.com,Port输入443即抓取SHEIN相关的接口信息,ROMWE 则输入:*.romwe.com即可。请注意*是通配符
3.5、输入完成后点击ok进行保存即可
4. 给手机安装证书
4.1、在Help菜单中选择SSL Proxying
4.2、选择Install Charles Root Certificate on a Mobile Device or Remote Browser
4.3、选择安装证书到远程设备后会有个提示当前电脑的Ip和使用的端口
4.4、在手机Wi-Fi中找到Http代理选项,代理配置选择手动,服务器输入上面的ip地址,例如上面的地址 10.102.16.189,端口输入8888(默认端口是8888)
4.5、接着打开浏览器,输入chls.pro/ssl,下载证书,进行安装即可
请注意,设备第一次连接的时候Charles会弹出一个提示,选择允许即可,如果没有允许的话,手机是没有网的,即在浏览器中输入chls.pro/ssl是无效的
iOS 10.3之后的系统默认是不信任Charles证书的,需要手动信任证书,开启步骤:设置 → 通用 → 关于手机 → 拉到最低下有个 证书信任设置,点击按钮进行启用
Android无法直接点击下载文件进行安装charles证书时,需要该方法
点击手机:设置-设备与隐私-从存储设备安装证书-选择Dowload-Browser下载的证书文件
5. 抓包查看(安卓6.0开始,不支持https抓包,原因是手机没有root权限,无法信任Charles证书,6.0以后的系统几乎无法进行root)
5.1、打开SHEIN App查看抓包是否成功,如果抓成功了,链接左边的小图标是一个闪电,如果没有成功即和其它的一样
5.2、聚焦想要查看的接口,在对应的域名中点击鼠标右键,有个Focus选项,勾选完成后,Charles默认显示此域名
5.3、使用了聚焦后的效果
6. 如何修改Charles端口号
6.1、在Proxy菜单中找到Proxy Settings,修改Http Proxy 下的端口号即可
7. 自有埋点上报接口抓包
*.srmdata.com:443,*.srmdata-us.com:443,*.srmdata-eur.com:443添加到ssl proxy中。
8. 常见问题
8.1、Q:无法打开charles?或者打开提示Unable to create DDE conversation
A:打开charles安装目录下的charles.ini文件,删除single.instance=dde后保存