Charles 重写(rewrite)
Rewrite功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。
可以重写接口所有元素的内容:header、host、url、path、query param、response status、body.
具体操作如下:
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
本文来自博客园,作者:batteys,转载请注明原文链接:https://www.cnblogs.com/bao-yan/p/13600767.html
=====有任何疑问,欢迎加QQ 350781522(加时请备注来源)=====
浙公网安备 33010602011771号