iOS-Charles(青花瓷)用法小结

前言

软件开发中,我们有时需要监控接口的请求和响应,或者篡改服务器返回的数据,以满足客户端的测试需求,在不麻烦别人的前提下,这时我们就可以使用Charles进行监控、抓包、改包等操作。

配置

安装Charles

TIPS: 示例中用的是v3.9.3版本

安装后,如下图:

设置HTTP代理

  • 让电脑和手机处于同一局域网内(手机连接电脑分享的无线网络也不行)
  • 修改手机连接的无线网配置-设置HTTP代理
    • 服务器:可以在电脑上查看连接的无线网IP
    • 端口:8888


      iOS-Charles(青花瓷)用法小结_第2张图片
      Charles-手机无线网配置@2x.png

监听请求

一般用法(监控网络请求)

配置好代理,打开Charles,打开需要监听的程序,这时Charles有可能会弹框,点击同意即可。界面如下图:


我们可以查看请求概况requestresponse等信息。

Tips:默认是Sequence(顺序)显示网络请求,这样可以看到请求顺序,但是无法直观地显示某个站点下的接口汇总,所以我使用Structure(结构、分类),如下图:

高级用法(篡改请求和响应)

言归正传,说重点。想要在请求时,修改请求和响应信息,就需要给请求打个Breakpoints(断点)

添加断点

iOS-Charles(青花瓷)用法小结_第5张图片
Charles-给接口添加断点@2x.png

进入断点

  • 当给某个接口添加断点后,再次请求接口,就会进入断点,如下图:


    iOS-Charles(青花瓷)用法小结_第6张图片
    Charles-进入断点[email protected]
  • 这时我们可以执行取消(Cancel)、终止(Abort)、跳过(Execute)操作。

    • Cancel: 想当于没有打断点
    • Abort:终止请求,此时会请求失败(可能出现的错误信息:Request aborted by breakpoint)
    • Execute:执行过断点,接着往下执行请求

篡改Request

  • 通过断点,我们可以修改Request信息,如下图:


    iOS-Charles(青花瓷)用法小结_第7张图片
    Charles-进入断点[email protected]
  • 这时我们可以修改请求头信息

篡改Response

  • 通过断点,我们可以修改Response信息,如下图:


    iOS-Charles(青花瓷)用法小结_第8张图片
    Charles-进入断点[email protected]
  • 这时我们可以修改接口返回的json数据,一般情况下就不再需要麻烦服务端修改代码以配合我们测试了。

TIPS

  • 可以给某个接口添加断点,也可以在域名上添加断点,此时该域名下的所有接口都将被断点。
  • 不使用Charles时,建议关闭手机上的代理,否则手机联网有可能会出现问题,比如微信只会显示文字,加载不出来图片等等。。。

你可能感兴趣的:(iOS-Charles(青花瓷)用法小结)