Charles是目前强大、流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持,其功能强大到包括:
1. 支持SSL代理,可以截取分析SSL的请求
2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
5. 支持重发网络请求,方便后端调试。
6. 支持修改网络请求参数。
7. 支持网络请求的截获并动态修改。
8. 检查HTML,CSS和RSS内容是否符合W3C标准
So、特别是做APP开发,抓取APP网络请求、调试与服务端的通信,尤其真机测试网络请求时,Charles是必备工具。
Charles的工作原理很简单,本质是就是一个http抓包分析工具,在工作的时候需要先把charles设置成代理服务器,这样所有的网络请求都会经过charles了。
在此借用网友的示例图(侵删)为大家详细展示一哈
1.普通http请求过程
下面为大家详细介绍用Charles抓取手机APP网络请求的具体步骤。需要注意的是,抓取手机APP网络请求时,手机和电脑必须在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。
Step1:开启Charleshttp代理;
Step2:手机端Wifi添加代理;
Step3:开启Charles录制功能;
Step4:启动APP开始抓包;
Step 1: 开启Charleshttp代理
a.设置Charles代理。因为只是要监控手机端APP网络请求,所以将此前设置的电脑代理勾去掉