zoukankan      html  css  js  c++  java
  • Charles 重写(rewrite)

    Rewrite功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。
    可以重写接口所有元素的内容:headerhosturlpathquery paramresponse statusbody.
    具体操作如下:
    1.点击Charles菜单栏Tools中的Rewrite

     
     

    2.弹出Rewrite Settings框,勾选左上角的Enable Rewrite选项,并点击Add,左侧边框出现Untitled Set,在右侧的Name栏可以对此次的Rewrite进行重命名。

     
     

    在右侧Location栏点击Add,在弹出的Edit Location对话框中,填入相关参数,最后点击OK

     
     

    接着,在右侧Rules栏点击Add,在弹出的Rewrite Rule对话框中,填入相关参数,最后点击OK

     
     

    一、修改接口返回报文参数
    作用:对请求的响应内容做修改,一般是对某一个或几个值进行rewrite,用新的值来替代返回的值
    使用场景:可以用来mock数据,比方说在开发中为了测试功能需要请求的某个数组字段有值,但是当前环境无法给出,那么就可以使用该功能

     

    会将返回数据中的2018-08-05全部替换成2018-08-03

    二、修改请求的header
    作用:可以对请求或者响应的header内容进行操作,包括添加、修改及删除。
    使用场景:在需要对header进行处理时用到,例如为了用上某个环境数据,可能需要对应userid,这时本地开发是可以在请求的header中加上userid信息;也可以重写响应header的信息

     

    会在请求的header中添加userid属性。
    :Match栏的name和value值如果不填会匹配所有的请求,如果有值,则去匹配有改键值的请求。

    三、修改path
    主要rewrite path内容使用指定rewrite规则的path来响应指定的请求path,它可以对path进行裁剪

     
     

    请求的结果如下:

     

    四、其他
    host: 主要是对请求进行host修改,以达到本地请求获取指定host环境中的数据,常见于mock数据

    url: 作用:修改url中某些部分,可以用别的url进行替换或者url裁剪时间戳或者md5
    使用场景:场景使用非常多,既可以对host也可以对path进行rewrite,可以满足指定host下的请求重定向到其他host下对应path

    query param:作用:可以对param进行操作,包括修改、添加、删除等
    使用场景:有时请求可能多传递了不必要的参数,这时可以rewirte功能去掉多余的参数;另外也可以添加请求必须而暂时无法提供的参数

    response status: 很少用到,顾名思义就是对response的状态码进行rewrite

  • 相关阅读:
    Spring事务隔离级别、传播机制、实现方式
    包装类缓存
    Object类详解
    String类详解
    自己实现一个Map
    锁机制
    各容器区别比较
    Map-CurrentHashMap
    Javascript中bind()方法的使用与实现
    this、new、call和apply的相关问题
  • 原文地址:https://www.cnblogs.com/bao-yan/p/13600767.html
Copyright © 2011-2022 走看看