Charles教程,入门即精通
一、Charles 简介
Charles 中文名叫 青花瓷 或者 花瓶,它是一款基于HTTP协议的代理服务器,通过设置成为电脑/浏览器/客户端的代理,然后截取请求和响应结果,达到分析抓包数据的目的。
有两个特点:一个是跨平台,支持windows 和 Mac ,另一个是 半免费 ,为什么说是半免费呢? Charles有两个版本:有收费版本和免费版本,免费版本每次启动需要消耗10s钟,另外每次运行30分钟就需要强制关闭重启。说是免费吧,但是有条件,也不是免费吧,也能用,就直接定义为 半免费吧
二、Charles 的工作原理
如上图所示:
- 客户端发送请求,客户端可以是安卓手机/ios手机/PC机上的浏览器等
- Charles 接收请求,再发送给服务器,这个步骤可以篡改请求内容, 比如请求体的内容,URL上?之后拼接的参数,Header 中的token,cookie 等,反正拦截下来的请求内容都是可以修改的
- 服务端把响应结果返回给Charles
- Charles 把响应结果再转发给客户端,这个步骤可以篡改响应内容
特别提示:基本上所有的代理服务器都是这个原理,比如Fiddler、Mitmproxy 等
三、Charles 能做什么
- 支持HTTP 和 HTTPS 代理
- 支持流量控制,可以用来模拟弱网环境,设置2G、3G、4G等场景的网络环境
- 支持断点调试
- 支持MOCK
- 支持接口请求并发