文章目录

  • charles的两种查看方式
  • 修改请求参数
  • 压力测试(Repeat Advanced)
  • map local(用户修改请求结果)
  • map remote(用于修改服务端)
  • 连接手机
  • 查看已连接的手机
  • 限速
  • Charles支持抓http、https协议的请求,https需要下载证书
  • 手机安装证书备注


charles的两种查看方式

structure(结构体)
sequence(序列)

修改请求参数

  • Edit
    右键选择Edit
    修改参数请求参数后点Execute
  • Rewrite
    动态修改 request/response 信息
    改变的只是部份信息,比如:主机地址( Host ),返回状态码( response status),返回信息内容( body )等:

压力测试(Repeat Advanced)

  • 通过多次重复请求进行实现
    对需要压测的请求右键选择Repeat Advanced(重复 高级)
    填入重复执行的次数和并发数
    Itreations:循环次数
    Concurrency:并发次数
    Delays,请求与请求之间的间隔时间
  • 注意:并发代表是统一时间内请求多少次,比如设置循环6次,每次并发3条,则会分2次,每次并发3条去向服务端进行请求(需要注意的是,如果循环次数不是并发次数的整数倍,则不会触发所有的请求,如设置循环次数为10,并发条数为3,那么最终只会发起9次请求)

map local(用户修改请求结果)

  • 先将请求结果复制下来,保存到本地txt文件,然后修改txt文件的内容
    ,再将请求接口map到该文件
  • 方法一
  • 对应的接口右键选择map local
  • 清空map from的query
  • 在map to中选择需要map的本地文件
  • 方法二
  • 在tools中选择map local,新建(Add)或者导入map文件(Import)
  • map from
    protocol:http
    host:url的前段(例如 jxq-api.kwai.com)
    port:80
    path:url中除http://host:80以外的部分(例如 /rest/o/kwik*)
  • map to
    在map to中选择需要map的本地文件

map remote(用于修改服务端)

  • 方法一
  • 对应的接口右键选择map remote
  • 在map to输入对应数据
    protocol:http
    host:对应的url
    port:80
  • 方法二
  • 在tools中选择map remote,新建(Add)或者导入map文件(Import)
  • map from
    protocol:http
    host:*
    port:80
    path:url中除http://:80以外的部分(例如 /rest/o/kwik
  • map to
    protocol:http
    host:对应的url
    port:80
  • 注意:可以使用通配符来进行简单的批量匹配,达到批量重定向的目的

连接手机

  • 方法1
  • 设置手机端网络代理
    点击WiFi-修改网络-高级选项
    代理:手动
    代理服务器主机名:电脑ip
    代理服务器端口:8888
  • charles与手机端的连接提示弹窗,选择allo
    如果没有收到连接提示可以去proxy-Access Control Settings中添加
  • 方法2
  • 让所有设备无需询问直接连接电脑的方式
    在proxy-Access Control Settings中添加一个0.0.0.0/0的IP

查看已连接的手机

proxy-Access Control Settings
点击remove可删除

限速

proxy-throttle settings-勾上enable throttling-选择限速-点击ok
Throttling.xml(先导入限速文件)

Charles支持抓http、https协议的请求,https需要下载证书

抓取https请求方法
方法一:下载证书
方法二:关闭‘ssl proxying’

手机安装证书备注
  • 必须手机先连上电脑的代理
  • 必须先电脑安装证书
  • 手机下载证书后,需要安装
  • ios安装证书后,证书还需要信任