Charles 使用方法
一、软件安装及环境搭建
前言:Charles 仅对 http 协议生效,其他协议无法抓取,高级功能需要有 license 才可以使用
1.下载安装(略)
安装后要进行激活:https://www.jianshu.com/p/89111882fa99 这里面有激活码,点开 Help — Register Charles 后输入对应内容即可。
2.https抓取配置
Charles 默认可抓取并解析 http 请求,如果想使用https,需要额外配置:
1) 电脑上安装证书:菜单栏 Help ---- SSL Proxying ---- Install Charles Root Certificate
注意这里安装完证书后可能需要一个信任的过程:在钥匙串访问里,我们看到charles证书是红x的状态,双击打开后可以把信任状态更改为始终信任
2) 电脑上的端口配置:菜单栏 Proxy ---- SSL Proxy Settings ... ,勾选 Enable SSL Proxying,然后 Add 主机和端口,这里可以用 *.443
3) 手机端安装证书:手机端连上电脑的代理后 ,浏览器访问SSL证书下载地址:http://chls.pro/ssl ,下载并安装证书(注:Android端证书启用需要设置锁屏密码)。
证书下载地址也可在电脑端 Help — SSL Proxying — Install Charles Root Certificate on a Mobile Device or Remote Brower 下查询确认,以此为准。
手机端证书仅对一台PC有效,如要再其他PC端抓取https,需要连接对应的代理后再次安装证书。
iOS 10.3及以上系统,在手机安装证书后,需要在设置 — 通用 — 关于本机 — 证书信任设置 处,将该证书设置为完全信任,才能进行抓包。
二、常用操作
- Map Local
适用场景:模拟返回。
比如我们需要造一些特定的场景,查看指定返回的情况下,客户端的表现时就可用 map local 的方式用本地假数据。
右键需要改返回的请求,选择map local,在local path中选择指定的返回文件
一般使用时可先保存一个正常从服务端的请求的数据,在已有的模板上修改参数即可。
然后再次请求接口,就可以用我们刚才造好的假数据啦。
2. Breakpoint
适用场景:客户端请求超时、临时修改请求参数。
右键需要断点的请求,选择Breakpoint,即为设置断点成功。再次触发该请求时会弹出中断页面,该页面无操作一段时间即可确认客户端超时处理逻辑。
下图为弹出的中断页面:
需要临时修改参数时,在中断页面选择 Edit Request 或者 Edit Response,修改参数后Execute。但由于客户端超时逻辑,编辑请求时容易超时,使用时需注意。
等到不需要打断点的时候,在 Proxy — Breakpotint Settings ... 里面可以进行修改
这个页面可以添加或者删除断点
双击某条接口,可以进行具体的编辑:
3. Map Remote
适用场景:连开发机测试、模拟异常返回(4xx、5xx等)
右键需要代理的请求,选择map remote,在map to中填写对应的4xx、5xx网页地址即可。
4. 网速模拟
在 Charles 的菜单上,选择 “Proxy”–>“Throttle Setting” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Throttling”。
可以选择预置的 Throttle Preset 类型,也可以自定义一个网络类型。