《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇
1.简介
2.修改请求参数或者响应数据的方法
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.修改请求内容
3.1方法一:直接选中修改
有些时候为了调试服务器的接口稳定性和容错性,我们需要反复尝试不同参数的网络请求。Charles 可以方便地提供网络请求的修改和重发功能。具体操作步骤如下:
1.只需要在以往的网络请求上点击右键,选择 “Compose”,即可创建一个可编辑的网络请求。这里宏哥还是利用上一篇中的接口进行演示。如下图所示:

2.我们可以修改该请求的任何信息,包括 URL 地址、端口、参数等,之后点击 “Execute” 即可发送该修改后的网络请求(如下图所示)。Charles 支持我们多次修改和发送该请求,这对于我们和服务器端调试接口非常方便,如下图所示:
3.将1801修改成1802,发送预期结果返回李四实际结果一样,如下图所示:

3.2Rewrite(重写)
Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。
1.例如,还是用之前API 请求是获得用户账户信息,而我当前的账户是 “张三”,如下图所示:

2.我们想试着直接修改请求参数,将 1801 换成成 1802。于是我们启用 Rewrite 功能,点击菜单栏tools-->Rewrite,如下图所示:

3.勾选“Enable Rewrite”,点击“Add”,然后设置如下的规则,如下图所示:
4.浏览器访问或者其他接口工具重新发送请求,预期结果返回李四与实际结果一样,如下图所示:

3.3Breakpoint(打断点)
上面提供的 Rewrite 功能最适合做批量和长期的替换,但是很多时候,我们只是想临时修改一次网络请求结果,这个时候,使用 Rewrite 功能虽然也可以达到目的,但是过于麻烦,对于临时性的修改,我们最好使用 Breakpoints 功能。
Breakpoints 功能类似我们在 Xcode 中设置的断点一样,当指定的网络请求发生时,Charles 会截获该请求,这个时候,我们可以在 Charles 中临时修改网络请求的内容。
打断点修改请求的方法已经在上一篇文章中进行了详细的介绍,这里宏哥就不做赘述了。
需要注意的是,使用 Breakpoints 功能将网络请求截获并修改过程中,整个网络请求的计时并不会暂停,所以长时间的暂停可能导致客户端的请求超时。嘿嘿!这个就要考验你的手速了。
4.小结
宏哥这里总共介绍了三种设置修改请求参数的方式,一般工作中,我们要根据需要灵活变换方法,而不是一成不变的。好了,今天时间也不早了,讲解和分享就到这里!感谢您耐心的阅读~~
《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇的更多相关文章
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles
1.简介 上一篇通过宏哥的介绍想必各位小伙伴或者童鞋们对Charles已经有了一个理性地认识,今天宏哥在从Charles的外貌介绍和分享一下,让小伙伴们或者童鞋们再对Charles有一个感性的认识,今 ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
1.简介 前边几篇宏哥介绍了Charles界面内容以及作用.今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了.因为上一篇许多小伙伴看到宏哥的Charles可以分开看到 ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话
1.简介 在大数据时代,互联网时代,个人信息安全尤为重要,网络安全在近日多起电信诈骗事情发酵下的情况下,引起国家,企业,个人对于互联网安全进一步的重视.而之前很多以http协议传输的网站出现的网站信息 ...
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(6)-Charles安卓手机抓包大揭秘
1.简介 Charles和Fiddler一样不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Charles也能截获 Android 和 Wind ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下
1.前言 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识.其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler. 1. ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行
1.简介 Fiddler成了网页调试必备的工具,抓包看数据.Fiddler自带命令行控制,并提供以下用法.Fiddler的快捷命令框让你快速的输入脚本命令. 除了输入默认命令,也可以自定义命令,你可以 ...
- Fiddler系列教程2:手机抓包图文教程
上篇Fiddler教程,我们教了大家Fiddler安装配置及如何使用Fiddler进行基本的Http抓包及模拟请求,今天给大家介绍下如何使用Fiddler进行手机抓包. 运行环境为Windows 10 ...
- Charles 抓包使用教程
将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网络 修改网络请求内容 给服务器做压力测试 修改服务 ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解
1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的会话面板了. 2.会话列表 (Session list) 概览 Fiddler抓取到的每条http请求(每一条称为一个ses ...
- 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解
1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的监控面板了.监控面板主要是一些辅助标签工具栏.有了这些就会让你的会话请求和响应时刻处监控中毫无隐私可言.监控面板是fiddl ...
随机推荐
- ChatGPT 可以联网了!浏览器插件下载
Twitter 用户 An Qu 开发了一款新的 Chrome 插件帮助 ChatGPT 上网,安装插件以后 ChatGPT 就可以联!网!了! 简单来说开启插件后,他可以从网上搜索信息,并且根据用户 ...
- 东拼西凑学java
前言 随着大环境的影响,互联网寒冬降临,程序员的日子越来越难,搞不好哪天就被噶了,多学点东西也没啥坏处,国内市场java如日中天,出门在外不会写两行java代码,都不好意思说自己是程序员,伪装成一个萌 ...
- Appium工具
1.安装 (1)jdk安装以及环境配置 a.jdk下载地址:https://www.oracle.com/cn/java/technologies/downloads/ 新建系统环境变量: b.编辑P ...
- freeswitch的gateway配置方案
概述 freeswitch是一款简单好用的VOIP开源软交换平台. 在voip的网络模型中,网关是我们经常会遇到的概念. 在freeswitch中,如何配置gateway,如何使用好gateway的模 ...
- 使用 sp_executesql 动态执行sql
参考: https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-executesql ...
- [生命科学] 生物基础实验之DNA提取
生物基础实验之DNA提取实验 基因组DNA的提取通常用于构建基因组文库.Southern杂交(包括RFLP)及PCR分离基因等.利用基因组DNA较长的特性,可以将其与细胞器或质粒等小分子DNA分离. ...
- Java正则表达式全局匹配
今天想用Java的正则在字符串中匹配特定内容,但是当我代码写好运行后却发现正则表达式并没有起作用 试了很多方法,也去Js里试了正则表达式可以走通,就是Java不行 很纳闷 (:′⌒`) Java里正则 ...
- vue基础之keep-alvie保持历史页面数据不变,切换页面后数据不变keep-alvie
1:路由配置文件设置 { path: '/MenuM', component: Layout, redirect: '/MenuM', children: [ { path: 'MenuM', nam ...
- 1.MAC获取文件路径;2.MAC使用SSH连接远程服务器,实现文件上传下载
首先来说一下如何获取文件路径 ····打开terminal,把文件拖进terminal 窗口,自动显示路径. 接下来说一下使用SSH连接远程服务器,实现文件上传下载 1. 上传本地文件到服务器 sc ...
- 分布式事务 | 使用 dotnetcore/CAP 的本地消息表模式
本地消息表模式 本地消息表模式,其作为柔性事务的一种,核心是将一个分布式事务拆分为多个本地事务,事务之间通过事件消息衔接,事件消息和上个事务共用一个本地事务存储到本地消息表,再通过定时任务轮询本地消息 ...