之前一直用postman调接口比较多,但有时候想要去修改APP的页面展示,造数据又会比较麻烦,此时可以用以下三种方法修改请求参数或修改响应:
  map Local(本地映射)、Breakpoints(打断点)、Rewrite(重写)
MAP重定向:
  Charles 的map功能,就是将某个请求进行重定向,然后用重定向后的内容来修改请求内容;map又分Map Remote和Map Local,Map Remote 是将指定的网络请求重定向到另一个网址Map Local 是将指定的网络请求重定向到本地文件。
  map Local:只能修改返回数据
  Rewrite:可修改接口的请求和响应
  Breakpoints:可以修改该接口的请求和返回数据,在响应时间内。
 

一、Map Local

  Map Local的使用场景,要验证接口返回数据的各种场景,使用本地映射可以修改请求接口的response。
 
  1.1  保存接口响应:右键-->save response-->保存到本地路径(最好为json格式)
  
  1.2 右击选择Map local:点击接口-->右键-->Map Local进入Map Edit页面
  
  1.3  配置Map Local Map To本地文件:Edit Mapping-->Map To选择你保存到本地已修改的json文件
  • protocol:接口协议
  • Host:接口URL粘进去,自动分解到host与path文本框中
  • port:*(匹配全部)
  • Query: *(匹配全部)
    
  
       1.4 再次请求接口,接口返回response已经变成本地json文件的值。完成~
 
  1.5  关闭Map Local:点击charles工具栏中的工具,取消map Local勾选,即将本地映射关闭
 
二、Rewrite  
  Rewrite:可用于修改请求(​request​)和返回(​response​)的​modify​工具
  1. 打开charles,点击菜单栏tools-->Rewrite

   

  1. 弹出Rewrite Settings界面,选择​Enable Rewrite​,点击​Add​,此时会出现一个​Unitled Set​
      • Enable Rewrite:允许使用Rewrite
      • Add-Name:支持修改被篡改的接口的名称

  

  3. 点击​Location​下方的​Add​,出现二级界面

      • 选择自己需要的​Protocol​(​http/https​)
      • 放入需要访问的接口地址​api​,会自动将URL的内容分解host和path文本框中
      • ​Port​和​Query​改为*(也可自定义)

  

  4.篡改规则:点击下方的第二个add,填写重写规则
      • Type: 重写的类型,可以选择url/body等
      • where:选择修改request或reponse
      • Match--Value:匹配现有的值(支持正则匹配)
      • Replace:替换值
      • Replace first:仅替代掉第一个被匹配的值
      • Replace all:替代到所有被匹配的值

  5. 重新刷下接口,可以看到APP数据已修改为替换值,完成~

charles技能之修改请求参数/返回数据(map Local、Rewrite、Breakpoints)的更多相关文章

  1. Fiddler修改请求、返回数据

    相信你们有听过说“绕过前端”,但是可能想不到要怎样才能绕过前端呢? 首先,我们要知道什么是绕过前端?比如:登录用户名限制数字.6位,用户在登录页面填写用户名符合要求,使用Fiddler作为代理,拦截登 ...

  2. charles抓包修改请求参数发送新的请求

    打开charles -->选择请求右击选择compose---修改参数发送请求

  3. charles 模拟手机弱网、修改请求参数、修改返回值

    1.charles模拟弱网(断网) 2.charles修改请求参数 (1)先访问一次需要改的请求,在charles上找到相应的请求地址 (2)然后在需要打断点的请求上右键,勾选[Breakpoints ...

  4. 使用HttpServletRequestWrapper修改请求参数 和 使用HttpServletResponseWrapper截获响应数据

    Servlet规范中的Filter引入了一个功能强大的拦截模式.Filter能在request到达servlet的服务方法之前拦截request对象,而在服务方法转移控制后又能拦截response对象 ...

  5. Fiddler实现篡改接口请求和返回数据

    步骤如下: 点击rules->Automatic Breakpoints,在这个选项下,我们可以看到三个可选项: Before Requests:在请求发出前拦截请求: After Reques ...

  6. fidder设置断点,修改请求参数等

    设置断点(来自:http://jingyan.baidu.com/article/17bd8e52216c8d85ab2bb8e9.html): 可以看到当前有一个抓取的很多的包的链接的地址的信息,那 ...

  7. Fiddler之模拟响应、修改请求或响应数据(断点)

    在测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行此类操作.可以使用断点功能完成. 一.修改请求数据 在发起请求后,需要修改请求的数据时,可以设置请求前 ...

  8. asp.net core 使用中间件拦截请求和返回数据,并对数据进行加密解密。

    原文:asp.net core 使用中间件拦截请求和返回数据,并对数据进行加密解密. GitHub demo https://github.com/zhanglilong23/Asp.NetCore. ...

  9. fiddler修改请求参数

    1.打开fiddler ,点击界面左侧左侧底部 2.此图标为before request请求(修改请求参数时,设置这个,可以修改请求参数) 3..再次点击该按钮,将图标切换到下图after respo ...

随机推荐

  1. jmeter 相关

    Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, ...

  2. 快速掌握Java8 Stream函数式编程技巧

    函数式编程优势 "函数第一位",即函数可以出现在任何地方. 可以把函数作为参数传递给另一个函数,还可以将函数作为返回值. 让代码的逻辑更清晰更优雅. 减少了可变量(Immutabl ...

  3. firstBlog

    第一篇博客 markdown语法的学习 基本语法 标题与段落 在文字前面加1-6个#号来表示来代表一级标题到六级标题 一级标题 五级标题 列表 对于无序列表,可以使用字符-,+和*作为列表的标记 - ...

  4. 跟我一起学Redis之看完这篇比常人多会三种类型实战(又搞了几个小时)

    前言 对于Redis而言,很多小伙伴只关注其关键的五大基础类型:string.hash.list.set.sorted set(有序集合),其实还有三种特殊类型在很多应用场景也比较适合使用,分别是:b ...

  5. 第十八章 vi/vim文本编辑器介绍

    一.vi/vim文本编辑器介绍 1.含义: vi就是一个文本编辑器 2.为什么学习: 系统配置 编写脚本 vim就是vi的升级版 高级版 [root@jindada ~]# [root@jindada ...

  6. org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, TopicTest异常解决

    使用RocketMQ发送消息抛出异常,异常如下: 原因: Broker 禁止自动创建Topic,且用户没有通过手动创建此Topic,或者broker 和 Nameserver网络不通: 解决方案: 1 ...

  7. maven项目导入并运行

    idea导入maven工程流程 找到要导入的文件位置 打开导入 选择manve 一直next就好 选择jdk,选择自己的jdk--home就可以 点击finished 等待坐标导入,查看右侧maven ...

  8. buuctf-misc [BJDCTF2020]认真你就输了

    下载压缩包,打开发现有一个10.xls打开一乱码,发现不了头绪,但是发现了pk开头 那我们能不能将这个.xls改成.zip 说干就干,于是我们改成zip解压 打开xl,然后再打开 在chars中发现f ...

  9. Lambda表达式(三)

    public class Test04 { public static void main(String[] args) { /* * Java8中,有一个新的类:Stream类型,它代表一个数据加工 ...

  10. Pyqy5 让窗口居中

    # QDesktopWidget import sys from PyQt5.QtWidgets import QDesktopWidget,QMainWindow,QApplication from ...