首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(10)-Charles如何修改请求参数和响应数据-下篇

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(10)-Charles如何修改请求参数和响应数据-下篇

作者头像
北京-宏哥
发布于 2023-03-09 12:25:07
发布于 2023-03-09 12:25:07
4.4K0
举报
文章被收录于专栏:Charles教程Charles教程北京宏哥

1.简介

宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼的去求人。通过今天的学习后,再也不担心这些烦心事。我们可以通过工具Charles就可以实现。可以用以下三种方法修改请求参数或修改响应:map(映射)、Breakpoints(打断点)、Rewrite(重写)。

2.修改请求参数或者响应数据的方法

根据具体的需求,Charles 提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的。这三者在功能上的差异是:

Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。只能修改返回数据。 Rewrite 功能适合对网络请求进行一些正则替换。可修改请求数据和响应数据。 Breakpoints 功能适合做一些临时性的修改。在响应时间内,可修改请求数据和响应数据。

2.1MAP(映射)

Charles 的map功能,就是将某个请求进行重定向,然后用重定向后的内容来修改请求内容;map又分Map Remote和Map Local,顾名思义:Map Remote 是将指定的网络请求重定向到另一个网址,Map Local 是将指定的网络请求重定向到本地文件

2.2Rewrite(重写)

Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。

2.3Breakpoint(打断点)

上面提供的 Rewrite 功能最适合做批量和长期的替换,但是很多时候,我们只是想临时修改一次网络请求结果,这个时候,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。

Breakpoints 功能类似我们在 Xcode 中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求,这个时候,我们可以在 Charles 中临时修改网络请求的返回内容。

3.修改响应内容

有些时候我们想让服务器返回一些指定的内容,方便我们调试一些特殊情况。例如列表页面为空的情况,数据异常的情况,部分耗时的网络请求超时的情况等。如果没有Charles,要服务器配合构造相应的数据显得会比较麻烦。这个时候,使用 Charles 相关的功能就可以满足我们的需求。

3.1Map Local

Map Local的使用场景,要验证接口返回数据的各种场景,使用本地映射可以修改请求接口的response。对于 Map Local 功能,我们需要填写的重定向的源地址和本地的目标文件。对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,将请求结果保存到本地(如下图所示),然后稍加修改,成为我们的目标映射文件。具体操作步骤如下:

1.保存接口响应:右键-->save response-->保存到本地路径(最好为json格式)备用,这里还是用自己写的API。如下图所示:

2.在 Charles 的菜单中,选择 “Tools”–> “Map Local” 即可进入到相应功能的设置页面。如下图所示:

这种操作稍微有点复杂。或者你可以点击接口-->右键-->Map Local进入Map Edit页面,如下图所示:

3.在Map Local设置页面,勾选“Enable Map Local”,点击“Add”,然后进行配置,配置Map Local path 选择你保存到本地已修改的json文件(我把张三修改成了北京-宏哥)。如下图所示:

4.浏览器访问或者其他接口工具重新发送请求,预期结果返回北京-宏哥与实际结果一样,如下图所示:

3.2Map Remote

Map Remote的使用场景,要验证接口返回数据的各种场景,使用本地映射可以修改请求接口的response。对于 Map Remote 功能,我们需要分别填写网络重定向的源地址和目的地址,对于不需要限制的条件,可以留空。具体操作步骤如下:

1.在 Charles 的菜单中,选择 “Tools”–> “Map Remote” 即可进入到相应功能的设置页面。如下图所示:

这种操作稍微有点复杂。或者你可以点击接口-->右键-->Map Remote进入Map Edit页面,如下图所示:

2.在Map Remote设置页面,勾选“Enable Map Remote”,点击“Add”,然后进行配置,配置Map From(接口地址:http://10.11.53.193:5566/users/1801)和Map To(映射地址:http://10.11.53.193:5566/users/1803),宏哥将其映射到百度 。如下图所示:

3.发送预期结果返回王五实际结果一样,如下图所示:

3.3Rewrite(重写)

Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。

1.例如,还是用之前API 请求是获得用户账户信息,而我当前的账户是 “张三”返回账户信息是成功:success,如下图所示:

2.我们想试着直接修改网络返回值,将 success 换成 fail。于是我们启用 Rewrite 功能,然后设置如下的规则:

3.勾选“Enable Rewrite”,点击“Add”,然后设置规则,如下图所示:

4.浏览器访问或者其他接口工具重新发送请求,预期结果返回fail与实际结果一样,如下图所示:

3.4Breakpoint(打断点)

上面提供的 Rewrite 功能最适合做批量和长期的替换,但是很多时候,我们只是想临时修改一次网络响应结果,这个时候,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。

Breakpoints 功能类似我们在 Xcode 中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求返回数据,这个时候,我们可以在 Charles 中临时修改网络请求的返回数据。

打断点修改返回数据的方法已经在上一篇文章中进行了详细的介绍,这里宏哥就不做赘述了。

4.小结

宏哥这里总共介绍了四种设置修改响应内容的方式,一般工作中,我们要根据需要灵活变换方法,而不是一成不变的。好了,今天时间也不早了,讲解和分享就到这里!感谢您耐心的阅读~~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇
宏哥之前一直用postman调接口比较多(web端),也非常容易上手和操作。但有时候想要去修改APP的页面展示,造数据又会比较麻烦,你自己造相对还好些,要是让开发造,还得低眉顺眼的去求人。通过今天的学习后,再也不担心这些烦心事。我们可以通过工具Charles就可以实现。可以用以下三种方法修改请求参数或修改响应:map(映射)、Breakpoints(打断点)、Rewrite(重写)。
北京-宏哥
2023/03/09
2.1K1
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇
Charles 从入门到精通,看这篇文章就够了
大家好,我是洋子(B站 Bug挖掘机),目前是一名测试开发工程师,在上篇文章【2021年软件测试工具总结(1)】中,我提到了3个抓包工具,其中一个是Charles,它可以说是测试领域当中最主流的抓包工具了。可能有的小伙伴还不知道怎么使用Charles,那这篇热乎的Charles使用教程一定不要错过,该教程非常全面,已涵盖了Charles绝大多数功能,再不会的话,我就去...
Bug挖掘机
2022/09/28
2.5K0
Charles 从入门到精通,看这篇文章就够了
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles
上一篇通过宏哥的介绍想必各位小伙伴或者童鞋们对Charles已经有了一个理性地认识,今天宏哥在从Charles的外貌介绍和分享一下,让小伙伴们或者童鞋们再对Charles有一个感性的认识,今天主要是对Charles的界面进行一个详细的介绍。
北京-宏哥
2023/01/13
2.7K0
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles
Charles 从入门到精通
Charles 是目前最主流的网络调试工具(Charles、Fiddler、Wireshark...)之一,对于一个开发者来说与网络打交道是日常需求,因此很多时候我们需要调试参数、返回的数据结构、查看网络请求的各种头信息、协议、响应时间等等。所以了解 Charles 并使用它
不会飞的小鸟
2020/02/23
1.4K0
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(8)-Charles如何进行断点调试
  Charles和Fiddler一样也有个强大的功能,可以修改发送到服务器的数据包,但是修改前需要拦截,即设置断点。设置断点后,开始拦截接下来所有网页,直到取消断点。这个功能可以在数据包发送之前,修改请求参数;在收到应答包,在js解析和浏览器渲染之前,修改返回结果。有了这个功能,开发者就可以修改不同参数测试server,同时也可以修改返回包测试自己的js函数,或测试页面渲染。那么怎样进行Charles断点操作呢?下面宏哥将为大家讲解一下。
北京-宏哥
2023/03/01
3.7K1
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(8)-Charles如何进行断点调试
charles简单用法
首先是要通过代理设置,浏览器访问到这个抓包工具。访问:浏览器>>抓包工具>>服务器响应:服务器>>抓包工具>>浏览器
zx钟
2019/07/17
9440
charles工具使用
charles是需要破解以后才可以持续使用的。在此附上下载破解文件链接(选择对应版本的破解jar包下载):https://www.zzzmode.com/mytools/charles/
用户6780590
2020/08/10
1.1K0
手把手教你如何使用Charles抓包
前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到。很多时候都是如此,如果一个方案不行,肯定要有替代方案的。于是,想到了charles来进行抓包,也就是换一个工具完成了想做的事。
软件测试君
2021/04/20
16.3K0
手把手教你如何使用Charles抓包
Fiddler 和 Charles 常用功能点
Fiddler 常用功能点(windows) 1. 抓包(Http/Https Seesions) 2. 断点(Rules -> Automatic BreakPoints -> Befor/After Requests) 3. 弱网(Rules -> Performance -> Simulate Modem Speeds ) 4. 自动响应(AutoResponder) 5. 修改请求数据 (Click F2 unlock WebForms,or use json requests) 5. 模拟请求(Composer) 6. 重复请求(Replay) 7. 查看响应时间(Ctrl+R, Edit Fiddler Script) 8. 查看ServerIP(Ctrl+R, Edit Fiddler Script) 9. 自动保存会话内容(Ctrl+R, Edit fiddler Script) 10. 更改会话UI(Ctrl+R, Edit Fiddler Script)
卓越笔记
2023/02/18
3640
抓包神器Charles:解析网络数据传输的秘密
Charles 是一款跨平台的代理工具。Mac、window、linux 都可以使用。
霍格沃兹测试开发Muller老师
2024/05/31
1560
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因此有点蒙,有点疑惑。同样的版本显示的界面却是不一样的,私信问宏哥在哪里下载的,不用疑惑,不用问,宏哥也是在官网下载的。因此在介绍之前,首先解决一下上一篇小伙伴或者童鞋们私下问宏哥的问题:如何设置显示request和response?。
北京-宏哥
2023/03/01
2.1K0
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
Charles抓包工具
Charles是一个HTTP代理工具,使开发人员能够查看客服端和服务器之间的所有HTTP/ HTTPS/SSL网络请求。 Charles是在PC环境下常用的网络抓包截取工具,在做移动开发时,我们为了调试客户端与服务端的网络通讯协议,常常需要截取网络请求来分析。
清风穆云
2021/08/09
1.7K0
最全的 Charles 抓包工具详解「建议收藏」
不管是移动开发者还是测试者,于抓包工具对于我们的工作都是非常有帮助的,而Charles是一款非常优秀的抓包工具
全栈程序员站长
2022/07/02
11.3K0
最全的 Charles 抓包工具详解「建议收藏」
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(12)-Charles如何使用Repeat功能进行简单压力测试
李四:“今天好累啊,点的我手指都疼了。我一直被要求给后端接口的同事重复发送请求来调试接口。”
北京-宏哥
2023/03/24
1.5K0
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(12)-Charles如何使用Repeat功能进行简单压力测试
利用Charles开发调试技巧总结
macOS开发,青花瓷Charles是必不可少的,如同Windows的Fiddler一般,熟悉下面的几点Charles技巧将会令调试事半功倍。
CS逍遥剑仙
2019/09/04
2.4K0
Charles基本使用
Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量. 这包括请求,响应和HTTP标头(包含cookie和缓存信息).
测试加
2022/03/24
9740
Charles基本使用
使用Charles代理进行请求转发
Charles是一款代理工具,官网中的解释为“HTTP代理/HTTP监视器/反向代理”,在Mac OS中使用比较多,当然也支持Windows的用户,我们可以通过这个代理来查看客户端与服务器之间的交互信息,也可以通过它来修改这些请求或响应当中的信息,从而来验证一些产品功能逻辑。
用户5521279
2019/09/25
7K0
使用Charles代理进行请求转发
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的监控面板了。监控面板主要是一些辅助标签工具栏。有了这些就会让你的会话请求和响应时刻处监控中毫无隐私可言。监控面板是fiddler最核心的功能之一。记录了来自于服务器端(webServer)的请求会话。包括页面的请求和静态文件的请求。状态面板主要显示的是会话及会话的状态。
北京-宏哥
2022/08/19
1.7K0
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
前端开发神器Charles从入门到卸载
本文将带大家学习使用前端开发神器-charles,从基本的下载安装到常见配置使用,为大家一一讲解。
胡哥有话说
2020/06/29
1.4K0
charles抓包配置具体操作步骤
windows下载地址:https://pan.baidu.com/s/1VtEXIogo_GS7iGh3f0nklw#list/path=%2F%E9%9C%8D%E6%A0%BC%E6%B2%83%E5%85%B9%E5%AD%A6%E5%91%98%E8%B5%84%E6%96%99%2Fwindows%2F%E6%8E%A5%E5%8F%A3%E7%9B%B8%E5%85%B3%2Fcharles
霍格沃兹测试开发Muller老师
2022/12/01
1.2K0
推荐阅读
相关推荐
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档