Charles常用功能

1. 过滤不必要的网络包

在抓取手机发送的请求时,有许多请求包是对图片等不需要关注的资源的请求,我们只想对指定目录服务器上发送的请求进行抓取,这时候就可以通过过滤网络包的方式实现。有两种实现方式:
1)选择Proxy->Recording Settings菜单,然后在include栏添加需要抓取包的指定服务器请求协议、地址、端口号,也可以在exclude栏添加不抓取包的地址。

charles 怎么过滤域名 charles怎么设置过滤_服务器

charles 怎么过滤域名 charles怎么设置过滤_charles 怎么过滤域名_02


include:能抓取到的

exclude:不能抓取到的

2)在主界面的中部的 Filter 栏中填入需要过滤出来的关键字。例如我们的服务器的地址是:, 那么只需要在 Filter 栏中填入 即可。

注意:通常情况下,我们使用方法一做一些临时性的封包过滤,使用方法二做一些经常性的封包过滤。

2. 断点替换/修改数据

2.1. 断点的作用:用来构建异常的测试场景

2.2. 步骤:

方式一:

  1. 右击接口链接,选择“BreakPoints”

charles 怎么过滤域名 charles怎么设置过滤_charles 怎么过滤域名_03

2.在浏览器刷新对应接口的页面

3.此时会自动跳转到Charles并显示出接口请求信息

4.点击“Edit Request”,修改请求信息,点击“Execute”

charles 怎么过滤域名 charles怎么设置过滤_测试类型_04

  • 点击“Edit Response”
  • 在数据格式兰中选择合适的显示格式,比如“json”
  • 修改对应的数据,点击“Execute”
  • 回到浏览器查看数据应该为修改之后的response的信息
  1. 方式二:
  • Proxy → Breakpoint settings...中手动新建/启用某个断点;
    要求勾选enable breakpoints之后当下次再有该请求时,会自动进入断点模式

charles 怎么过滤域名 charles怎么设置过滤_App_05

charles 怎么过滤域名 charles怎么设置过滤_测试类型_06

 新建断点

charles 怎么过滤域名 charles怎么设置过滤_App_07

3. 模拟慢网速

  • 为什么要做模拟慢网速
    不是所有的地方网络都好,所以要模拟慢网速。主要用在App端,因为PC一般都是宽带联网,而App哪里都有可能去。比如,测试上厕所

charles 怎么过滤域名 charles怎么设置过滤_测试类型_08

4. 压测服务器

依次点击tools—Repeat Advanced
选择好并发线程数和打压次数,点击ok就能进行对产品的GET和POST请求进行测试服务器并发处理的性能,当然这里只是简单的进行压测,并且只能对Charles抓到的http协议的请求进行重复并发,缺点就是如TCP类的抓不到的就不能了,算是个小小的缺陷吧。

charles 怎么过滤域名 charles怎么设置过滤_charles 怎么过滤域名_09

5 . 模拟404

1、tools——>blacklist

charles 怎么过滤域名 charles怎么设置过滤_charles 怎么过滤域名_10

2、 允许启用黑名单功能,选择接口返回错误的形式(404 或者403),添加接口地址并保存

charles 怎么过滤域名 charles怎么设置过滤_服务器_11

【blocking connection】 选项可以选择“drop connection”或者 “403 respose”.前者接口会直接返回404错误,后者接口返回403错误

3、 选中需要返回404/403的接口,点击【ok】

charles 怎么过滤域名 charles怎么设置过滤_App_12