断点功能(Breakpoints)
charles 是常用的抓包工具,抓包手机端的配置可以查看 Charles抓包乱码和unknow问题,这里主要介绍一下使用 charles 断点调试,有时我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。如果没有 Charles,要服务器配合构造相应的数据显得会比较麻烦。这个时候,使用 Charles Breakpoints 功能
就比较适合做一些临时性的修改。比如编辑request参数
、重定向request请求资源
、编辑response数据
。
1. 启用charles断点功能
禁用状态
启用状态
2. 设置断点
- 选择我们要设置断点的接口,双击勾选Breakpoints
- 点击Proxy-Breakpoints
- 设置断点条件
- 应用断点条件
3. 手机端发起请求,执行抓包,修改Response数据
- 我们可以看到
Edit Response
选项,点击可以把抓到的Response替换为我们自己想要的json数据。(如果我们设置断点时也选择了Request,这里就会多一个Edit Resquest
选项,我们可以修改Request数据) - 然后点击
Execute
继续执行
这时我们查看请求结果,response 数据已经替换为我们自己想要的了(我这里是把list替换为空数组了)
注意:
使用 Breakpoints 功能
将网络请求截获并修改过程中,整个网络请求的计时并不会暂停,所以长时间的暂停可能导致客户端的请求超时。