Charles是一个HTTP代理/HTTP monitor/反向代理,它使开发人员能够查看他们的机器和Internet之间所有HTTP/HTTPS通信,这包括请求、响应和HTTP头(其中包含cookie和缓存信息).
在开发当中比较常用的功能是:
截取Http和Https网络封包;
自动将json或xml数据格式化,方便查看;
支持修改网络请求参数;
支持mock本地数据;
支持网络请求的截获并且动态修改;
支持模拟慢速网络以及等待较长时间的请求;
1、安装
官网地址:https://www.charlesproxy.com
- 下载安装包,并且解压安装(破解教程自行解决);
界面:
- 俩中视图模式Structure和Sequence
- 个人使用Structure视图比较多,Structure视图将网络请求按照访问域名分类,网络请求按请求时间排序,当前执行的操作,会有黄色背景高亮;
- Filter过滤,可以输入关键字快速筛选出URL中指定的关键字网络请求
- 顶部黄色扫帚,清除当前session
- 红色圆点,restart
- 小乌龟节流
- 六边形断点
-
点击Help-> Local Ip Address 查看当前电脑ip,方便设置代理
常用功能介绍:
首先需要给手机设置代理,
- android设备一般是在当前Wi-Fi->属性->代理->手动代理,输入IP地址,端口默认8888;
- iOS手机在设置->Wi-Fi->属性->手动代理;
- Android手机设置完成之后,charles界面会有提示,选择Allow即可;
- iOS模拟器需要在Charles中设置Help->SSL->Proxying->Install Charles Root Certificate in iOS simulators;
(抓iOS模拟器的时候,请关掉电脑的代理软件)
设置完成之后,基本就可以开始抓包了;
- 过滤网络请求:在主界面的下边,Filter栏,输入需要过滤的关键字,这样可以直接过滤有用信息;
-
mock本地数据:Map Local
选中请求选项,右键选择Map Local
在Local path选择自己本地的数据文件即可;下次请求回直接走本地mock数据,如果取消mock,直接把清除Local path路径,输入*号,保存;
-
Breakpoint 断点:选中请求,右键点击BreakPoint;
下次请求时就可以暂停,出现如下界面,
有一个Edit Request,在这个界面可以增加或删除参数,或者直接双击name或者value进行编辑,修改完参数之后,点击Execute。有返回之后,会出现如下界面
界面中有edit Response,同样可以直接修改,修改完之后,点击Execute,请求就完成了,返回的结果可以直接供前端来使用。
其他功能继续更新...