更新
本部分的内容写于2013年12月,2015年11月有更新,更新版的文章见:《Charles 从入门到精通》
简介
本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。
Charles 是在 Mac 下常用的截取网络封包的工具,在做 iOS 开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。
因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。
Charles 主要的功能包括:
- 支持 SSL 代理。可以截取分析 SSL 的请求。
- 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
- 支持 AJAX 调试。可以自动将 json 或 xml 数据格式化,方便查看。
- 支持 AMF 调试。可以将 Flash Remoting 或 Flex Remoting 信息格式化,方便查看。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 检查 HTML,CSS 和 RSS 内容是否符合 W3C 标准。