作者:Mitchell
一、简介
- 支持 SLL 代理.可以截取分析 SSL 的请求
- 支持流量控制.可以模拟慢速网络,以及等待长时间的请求.
- 支持 AJAX 调试,可以自动将 JSON 或者 XML 数据格式化,方便查看.
- 支持 AMF 调试,可以将 Flash Remoting 或 Flex Remoting 信息而石化,方便查看.
- 支持重发网络请求,方便后端调试
- 支持修改网络请求参数
- 支持网络请求的截取和动态修改
- 检查 HTML,CSS 和 RSS 内容是否符合 W3C 标准.
二、关于信息过滤
- 第一种方式:在主界面中部的 filter 栏中填入要过滤出来的关键字.例如服务器地址是: http:xxxx.com.
-
第二种方式: 在上方菜单栏选择 "Proxy -> Recording Settings", 然后选择 Include 栏, 选择添加项目,然后填入所需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了,
三、协助 iOS 开发
-
Charles 上的设置:
Proxy -> Proxy Settings,填入代理端口8888,并且勾选“Enable transparent HTTP proxying”
- iPhone 上的设置
首先获取电脑的 IP:
进入 terminal ifconfig en0 获取到 IP
进入手机设置-> 无线局域网中->点击详情将“HTTP 代理”一项切换为手动,然后填上刚才获取到的 IP 地址,以及端口号8888.
连接之后,Charles 上会弹出提示连接的框,点击 allow 即可相连。
四、模拟慢速网络
-
Proxy -> Throttle Setting ,如果想针对某些 host 来进行测试的话那么就勾选 Only for selected hosts,然后添加需要测试的 host 地址就可以了。
五、截取 SSL 信息
-
Charles 默认不截取 SSL 信息,可以右键点击网站,然后让 SSL 变的可以截取。
六、修改网络请求内容
-
右键点击连接,点击 Edit,然后下方会重新创建出一个网络请求,可以在这个网络请求中修改
所需要修改的参数,然后点击 excute 来重新发送这个网络请求。
七、修改服务器返回的内容
- Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件
- Rewrite 工恩呢刚适合对网络请求进行正则替换
- Breakpoints 功能适合做一些临时性的修改
八、Map 功能
Charles 的 Map 功能分 Map Remote 和 Map Local两种,前者是将制定的网络请求重定向到另一个网址,MapLocal 是将制定的网络请求重定向到本地文件。
-
Map Remote 网络重定向,从哪个服务器重定向到哪个服务器
-
Map Local 将网络请求通过 Map Local 映射到了本地的一个经过修改的文件中:
九、Rewrite 功能
-
Rewrite 功能适合对某一类的网络请求进行一些正则替换,以达到修改结果的目的。
十、Breakpoints 功能
- 有时候,我们只是想临时修改一次网络请求结果,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。Charles 可以拦截网络请求。
参考链接
Charles 主要功能列表:http://www.charlesproxy.com/overview/about-charles/
Charles 官方网站:http://www.charlesproxy.com/