在使用charles时一般都是用breakpoints来截包修改接口中的参数,但对于某些场景来说这样的修改效率太低,以下还有三种可以参考下:
1.Map Remote:远端映射,把指定的网络请求(From)重定向(To)到另一个网址上
2.Map Local:本地映射,把指定的网络请求(From)重定向(To)到本地文件上
3.Rewrite:把网络请求进行一下正则替换,可以匹配多个请求
说明:经过这样的重定向后就可以实现,当触发真实业务接口时,只有遇到此处重定向的接口时,会替换掉已重定向接口的请求或返回内容。其他接口还是系统已有的接口。
一、Map Remote:
进入Tools-Map Remote后,弹出如下窗口:
勾选Enable Map Remote-点Add,弹出如下图:
a.Map From:填入你指定的需要修改返回值内容的原始接口信息(http/https、Host、Port、Path、Query)
说明:原始接口信息可以通过在指定接口上右键-选择Viewer Mappings来获取
b.Map To:填入你要模拟的虚拟接口的信息的请求部分。当然此接口必须真实可以访问。
特殊说明:比如利用moco手段模拟的接口,这样对应的返回值部分将在moco的接口中提现,如果要修改返回值内容,将moco中的接口返回值进行修改即可。
二、Map Local:
进入Tools-Map Local后,弹出如下窗口:
勾选Enable Map Local-点Add,弹出如下图:
a.Map From:填入你指定的需要修改返回值内容的原始接口信息(http/https、Host、Port、Path、Query) 。原始信息获取同Map Remote方式相同
b.Map To:选择本地存在的接口返回值文件。
三、Rewrite:
进入Tools-Rewrite后,弹出如下窗口:
勾选Enable Rewrite后点Add,如下图:
Location-Add点击后,如下图:
此功能同Map Remote/Map Local里的Map From配置类似。
在Rules板块点Add,如下图:
此处是需要修改返回值,模拟的正则匹配规则配置。
Type中有如下选项:
Add Header
Modify Header
Remove Header
Host
Path
URL
Add Query Param
Modify Query Param
Remove Query Param
Response Status
Body
说明:表示可以用正则匹配方式替换这些类型中的信息。然后再发送请求出去。
【示例】:遇到Locations中指定接口返回值中有“测试”两个字的 全部替换成 “修改测试后”。如果未指定Locations,则对所有接口起作用