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

333e1a362986a87886260f65501b3d42.jpeg

大家好,我是安果!

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

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

1. 断点 Breakpoints

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

具体步骤如下:

1-1  打开 Charles 并选中 Windows Proxy

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

f66d9bfbb4ad577c150459a5e7624098.png

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

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

110dcfc608444b68ec4b35aa35dc0009.png

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

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

79788fd5e385ee9c9ba93de3c7419508.png

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

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

2. Map Local Settings

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

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

具体操作步骤如下:

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

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

ce42deaeb5ba7ea83dc90eafb3e61063.png

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

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

a522501f9a45cb61a6d9ebf703875a55.png

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

2-3 Rewrite Settings(可选)

操作路径:Tools - Rewrite - Enable Rewrite

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

30672f6bda9ff19ed67d26546bde1afc.png

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

2-5  配置 Map Local Settings 并开启

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

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

a3e9301618cfff3a99ae4f55ff544b37.png

2-6 测试一下

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

推荐阅读

自动化篇 | 实现自动化抢茅台超详细过程!

5 分钟,教你从零快速编写一个油猴脚本!

最全总结 | 聊聊 Python 命令行参数化的几种方式!

实战 | 如何用 Python 自动化监控文件夹完成服务部署!

END

好文和朋友一起看~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值