Charles主要功能
-
截取HTTP和HTTPS网络封包
-
支持重发网络请求,方便后端测试
-
支持修改网络请求参数
-
支持网络请求的截获并动态修改
-
支持模拟弱网
Charles主界面介绍
Structure:将网络请求按访问的域名分类
Sequence:将网络请求按访问的时间排序
过滤网络请求
方法一、在主界面的Filter中填写需要过滤的关键字(临时性封包过滤)
方法二、在菜单栏选择“Proxy”-->“Recording Settings”,选择Include栏,填入需要监控的协议,主机地址,端口号,这样就能只截取目标网站的封包(经常性封包过滤)
方法三、在想过滤的网络请求上右击,选择“Focus”,这样就能过滤出一些没有通过关键字的一类网络请求
模拟弱网
在Charles菜单上,选择“Proxy”-->“Throttle Settings”,勾选“Enable Throttling”,选择Throttle preset设置类型
如果想指定模拟网站的弱网,可以勾选图上的Only for selected hosts,然后再对话框内设置指定的hosts即可
修改网络请求内容
有时候需要调试服务器接口,需要反复尝试不同参数的网络请求,可以在以往的网络请求上点击右键,选择Compose,即可创建一个可编辑的网络请求
可以修改URL、参数、端口等,之后点击“Execute”即可发送修改后的网络请求,如下图
修改服务器返回内容
主要有三个功能
-
Map:适合长期地将某一些请求重定向到另一个网络地址或本地文件
-
Rewrite:适合对网络请求进行一些正则替换
-
Breakpoints:适合做一些临时性的修改
Map功能分Map Remote和Map Local两种,Map Remote是将指定的网络请求重定向到另一个网址请求地址,Map Local是将指定的网络请求重定向到本地文件
Map Remote 需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以不填
Map Local 需要填写重定向源地址和本地的目标文件
本地目标文件可以使用Save Response...功能,将请求结果保存到本地,然后修改成为目标映射文件,如下图
Rewrite功能 适合对某一类网络请求进行一些正则替换 ,以达到修改结果的目的
参考:https://blog.csdn.net/kk_gods/article/details/114285076
Breakpoints功能 临时修改一次网络请求
需要注意的是,使用Breakpoints功能将网络请求截获并修改的过程,整个网络请求计时并不会暂停,所以长时间的暂停可能导致客户端请求超时