转载charles---rewrite重写

Rewrite功能


rewrite功能重写对应的内容,主要可以对某些匹配请求的headerhosturlpathquery paramresponse statusbody进行rewrite。

rewrite功能支持正则表达式的写法,这是一个非常有用的功能;例如Math项的value正则式中的组捕获项在Replace的value值中可以使用$1~$n之类的捕获组

Rewrite的具体设置规则步骤,可以用下面一幅图来说明:

上面map Rewrite中用127.0.0.1:8080/api/*下的所有接口替换成指定host下对应的/api/*路径,而其他接口不做处理,用rewrite同样可以实现

下面就rewrite设置规则内容页面,就各项rewrite规则做一个简单说明,指出其对应的作用及其使用场景:

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

如下图,在本地开发时,需要的某个环境中的数据api接口需要当前登录用户的登录信息的cookie,本地环境没有这些cookie,这时就需要添加需要cookie头,如下图所示,为匹配的接口添加cookie相关的header:

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

  • url:

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

  • path: 主要rewrite path内容使用指定rewrite规则的path来响应指定的请求path,它可以对paht进行裁剪

  • query param:

    • 作用:可以对param进行操作,包括修改、添加、删除等
    • 使用场景:有时请求可能多传递了不必要的参数,这时可以rewirte功能去掉多余的参数;另外也可以添加请求必须而暂时无法提供的参数
  • response status: 顾名思义就是对response的状态码进行rewrite;比方我想对一个指定页面A的访问重定向到另一个页面B,就可以用到这个。如下图:

  • body

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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值