0
点赞
收藏
分享

微信扫一扫

实用 | 盘点抓包修改响应结果的 2 种方式!


实用 | 盘点抓包修改响应结果的 2 种方式!_jmeter

大家好,我是安果!

在工作中,我们经常需要针对某个接口修改其响应值,以此改变 App 或浏览器实际的渲染结果

本篇文章将以 Charles + Chrome 浏览器为例,讲解修改响应结果常用的 2 种方式

1. 断点 Breakpoints

这种方式很简单,具体操作步骤如下

具体步骤如下:

1-1  打开 Charles 并选中 Windows Proxy

Windows Proxy 相当于开启整个系统通过 Charles 作为代理,所以能正常抓取浏览器的数据包

实用 | 盘点抓包修改响应结果的 2 种方式!_python_02

1-2  抓包并对目标接口开启断点

正常利用 Charles 进行抓包,选中目标接口(以登录接口为例),右键开启断点

实用 | 盘点抓包修改响应结果的 2 种方式!_python_03

1-3  再次调用接口,修改响应值

再次抓取到登录接口时,Charles 会在请求、响应时断点展示,我们可以对「 请求头、请求体、响应头、响应体 」进行二次编辑

实用 | 盘点抓包修改响应结果的 2 种方式!_django_04

在编辑窗口修改响应结果后,点击右下角的「 Execute  」按钮就可以将修改后的结果返回给前端进行渲染

这样,就完成了针对某个接口响应结果的修改

2. Map Local Settings

第一种方式虽然操作简单,但是如果接口设置的超时时间很短,在断点窗口中修改响应结果不一定来得及

Map Local Settings 相当于将本地文件数据作为响应值进行返回

具体操作步骤如下:

2-1 正常抓包并保存响应值并进行二次编辑

使用 Charles 正常抓包,右键选择登录接口将响应数据以 JSON 格式保存到本地,然后对响应结果文件进行二次编辑

实用 | 盘点抓包修改响应结果的 2 种方式!_spring_05

2-2 查看同接口OPTIONS 请求方式的响应头(可选)

为了避免 CORS 跨域异常,如果登录接口会同时发送一个 OPTIONS 请求,我们需要查看该请求的响应头

实用 | 盘点抓包修改响应结果的 2 种方式!_jmeter_06

然后重写请求头,将上面 4 项追加到响应头中去(具体配置参考2.3)

2-3 Rewrite Settings(可选)

操作路径:Tools - Rewrite - Enable Rewrite

点击 Add 按钮,在右侧编辑区域添加对应的 Location 及 Rewrite Rule

实用 | 盘点抓包修改响应结果的 2 种方式!_java_07

需要注意的是,Rewrite Rule 追加响应体时,应该勾选上 Response 和 Replace first

2-5  配置 Map Local Settings 并开启

操作路径:Tools - Map Local - Enable Map Local

点击 Add 按钮,新增一个本地响应匹配信息链,将接口地址与本地响应文件的完整路径输入进去

实用 | 盘点抓包修改响应结果的 2 种方式!_java_08

2-6 测试一下

经过上面配置后,重新调用登录接口,本地数据会作为响应值返回回去


举报

相关推荐

0 条评论