实用 | 盘点抓包修改响应结果的 2 种方式
在工作中,我们经常需要针对某个接口修改其响应值,以此改变 App 或浏览器实际的渲染结果
本篇文章将以 Charles + Chrome 浏览器为例,讲解修改响应结果常用的 2 种方式
1. 断点 Breakpoints
这种方式很简单,具体操作步骤如下
具体步骤如下:
1-1 打开 Charles 并选中 Windows Proxy
Windows Proxy 相当于开启整个系统通过 Charles 作为代理,所以能正常抓取浏览器的数据包
1-2 抓包并对目标接口开启断点
正常利用 Charles 进行抓包,选中目标接口(以登录接口为例),右键开启断点
1-3 再次调用接口,修改响应值
再次抓取到登录接口时,Charles 会在请求、响应时断点展示,我们可以对「 请求头、请求体、响应头、响应体 」进行二次编辑
在编辑窗口修改响应结果后,点击右下角的「 Execute 」按钮就可以将修改后的结果返回给前端进行渲染
这样,就完成了针对某个接口响应结果的修改
2. Map Local Settings
第一种方式虽然操作简单,但是如果接口设置的超时时间很短,在断点窗口中修改响应结果不一定来得及
Map Local Settings 相当于将本地文件数据作为响应值进行返回
具体操作步骤如下:
2-1 正常抓包并保存响应值并进行二次编辑
使用 Charles 正常抓包,右键选择登录接口将响应数据以 JSON 格式保存到本地,然后对响应结果文件进行二次编辑
2-2 查看同接口OPTIONS 请求方式的响应头(可选)
为了避免 CORS 跨域异常,如果登录接口会同时发送一个 OPTIONS 请求,我们需要查看该请求的响应头
然后重写请求头,将上面 4 项追加到响应头中去(具体配置参考2.3)
2-3 Rewrite Settings(可选)
操作路径:Tools - Rewrite - Enable Rewrite
点击 Add 按钮,在右侧编辑区域添加对应的 Location 及 Rewrite Rule
需要注意的是,Rewrite Rule 追加响应体时,应该勾选上 Response 和 Replace first
2-5 配置 Map Local Settings 并开启
操作路径:Tools - Map Local - Enable Map Local
点击 Add 按钮,新增一个本地响应匹配信息链,将接口地址与本地响应文件的完整路径输入进去
2-6 测试一下
经过上面配置后,重新调用登录接口,本地数据会作为响应值返回回去
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
阿J~: 看到文章昏昏欲睡的我瞬间来了精神,必须支持
阿J~: 很详细呀 感谢老哥分享!
阿J~: 膜拜技术大佬,也来我博客指点指点呗, 谢谢!