PC:MacOS
手机:iPhone
中文名叫青花瓷,它是一款基于HTTP协议的代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
配置
手机端
- 开启Charles,使手机与Mac处于同一Wi-Fi环境下,点击
Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
按提示配置代理,之后安装手机端证书(safari访问 chls.pro/ssl 默认下载)
并信任(设置 -> 通用 -> 关于 -> 证书信任设置)
。
手机配置代理
如果你需要在不同地点办公使用charles,手机端需要添加新证书,并信任。
证书信任设置
Mac端
-
安装证书并信任
安装证书(点击之后没反应就在 keychain 里面搜索 charles 试试)
信任证书 -
开启SSL代理
-
关闭 macOS proxy,避免干扰
至此,Charles就应该可以正常使用了。
Map 功能
Charles 的 map 功能可将某个请求进行重定向,用重定向的内容响应请求的内容。具体分为两种:map local
(将某个网络请求重定向到本地某个文件)
、map remote(将某个网络请求重定向到另一个网络请求)
,两者都可以将js、css、html以及api接口进行重定向,此外也可以使用通配符来进行简单的批量匹配,达到批量重定向的目的。
Map local
在开发过程中使用 map local 功能可以返回自定义数据来覆盖各种测试样例。
步骤:
- 功能开启:
Tools → map local -> ✔️ Enable Map Local
- 添加要调试的请求:点击 add 按钮,或在此请求上点击右键,选择
map local
。
map from(要调试的线上文件)
、map to(本地文件)
。
右键弹窗
Edit Mapping -
在对应目录创建文件,自定义假数据即可。
本地假数据
Map remote
进行一个需求开发,测试环境是:dev.a.com,测试完成,前端开发者上线了,现在QA需要跟踪线上情况,如何切到线上环境?这时就用到了 map remote 。步骤与 map local 类似。
Map 通配符
*: 可以匹配0个或者多个字符
?: 可以匹配一个字符
[...]: 范围选择符,可以匹配范围中的任意一个字符
Throttle
Thorttle Settings
- Bandwidth 带宽
- Utilisation 利用率
- Round-trip latency 往返延迟
- MTU(maximum transmission unit)最大传输单元
- Reliability 可靠性
- Stability 稳定性
-
Unstable quality range 不稳定的质量范围
网友评论