首页 > 其他分享 >《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(9)-Charles如何修改请求参数和响应数据-上篇

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

时间:2023-03-01 11:35:02浏览次数:47  
标签:教程 请求 Rewrite 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.修改请求内容

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.小结

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

标签:教程,请求,Rewrite,Charles,爆肝,网络,修改,功能
From: https://www.cnblogs.com/du-hong/p/17085999.html

相关文章

  • win10如何彻底关闭自带defender杀毒软件【教程详解】
    windowsdefender是win10系统自带的杀毒软件,有的时候我们需要关闭它才能运行某些软件,而网上的一些针对关闭win10自带的杀毒软件的方法似乎并没有什么效果,下面就来教大家彻......
  • [工具使用]抓包工具 Charles 安装和使用
    起因出差去客户那边查验bug,结果发现测试设备已经加完了,没法连接客户的手机直接进行调试。那时就在想要是装个抓包工具就好了,看看各种请求数据是否正常大致就能定位问题了......
  • Maven 安装教程
    目录1、下载Maven2、配置环境变量3、修改配置文件4、IDEA中配置Maven1、下载Maven官网:https://maven.apache.org/各版本下载地址:https://archive.apache.org/dist/mav......
  • 正则表达式-菜鸟教程
    正则表达式-菜鸟教程转自正则表达式,菜鸟教程正则表达式(RegularExpression)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符")。正则表达式使用......
  • 抓包工具之Charles(windows)
    PC端如何配置才能抓取到https请求:1.安装证书:在顶部工具栏中选择“help--InstallCharlesCASSLCertificate”;   2.然后会弹出证书信息,选择安装证书,接下来将证书存储改......
  • CUDA 教程(二)CUDA 模型概述
    前言 本章分别从硬件层面和软件层面对CUDA编程模型进行描述。主要讨论GPU的并行计算是如何在硬件上实现的,CUDA中的模块理解以及CPU和GPU之间的交互,指令的同步。这......
  • airtest IDE初级教程
    一、简介AirtestIDE是一款跨平台的UI自动化测试编辑器,内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写Airtest和Poco代码。1.Airtest框架:Airtest......
  • 在Eclipse配置安装Android详细教程(新手)
    下载开发资源1、下载最新的AndroidSDK​​https://code.google.com/android/download.html​​选择Windows版本的SDK,下载后直接解压缩就可以使用,为了在控制台中直接使......
  • Android高手进阶教程(十五)之---通过Location获取Address的使用!
    大家好,上一节我讲了一下如何通过LocationManager来获取Location,没有看过上一节的同学,可以点击如下链接返回查看:​​Android高手进阶教程十四之---AndroidLocation的使用!​......
  • Ansible入门教程
    1、环境准备1.1、准备主机这里使用3台主机做为演示#IP地址:192.168.10.15【控制机】hostnamectlset-hostnameansible-control#IP地址:192.168.10.14hostnamectl......