跳过导航 →
html

重写工具

重写工具允许您创建规则,在请求和响应通过Charles时对其进行修改。例如添加或更改标头、在响应正文中搜索并替换文本等规则。

重写集

重写集可单独启用或停用。每个集合包含位置列表和规则列表,其中位置用于选择规则将操作的请求和响应。

重写规则

每条规则描述一个单独的重写操作。规则可影响标头、正文或请求URL的某些部分;可作用于请求和/或响应;可定义为搜索替换或纯替换式的重写。

类型

类型指定要执行的重写操作类别。重写规则分为四种:标头规则、URL规则、查询参数规则和正文规则。标头和查询参数规则分别影响标头字段和查询字符串参数——可添加、修改或删除标头和参数。URL和正文规则则对URL不同部分及正文执行查找替换。

应用位置

选择重写规则的应用位置:请求、响应或两者。

匹配

匹配字段包含用于判断是否触发此规则的请求/响应文本。您可选择将名称或值留空以匹配任意值。若名称和值字段均为空,则匹配所有请求/响应。

可启用正则表达式支持,使用Perl风格正则表达式进行匹配。若在正则表达式中包含分组,这些分组可在匹配字段中使用。

名称字段默认完全匹配(启用正则表达式时支持部分匹配),且不区分大小写。对于不需要名称字段的重写规则类型可禁用此字段。

值字段默认部分匹配(启用"完全匹配值"时为精确匹配)。对于标头和查询参数规则,值字段不区分大小写;对于URL和正文规则则区分大小写。

新值/替换

新值/替换字段包含触发规则时要添加或替换的文本。将名称或值留空可保持与原匹配值相同。

若为匹配启用了正则表达式支持,可使用$1、$2等引用匹配分组。

名称和值字段的行为取决于匹配设置:存在对应匹配时替换匹配文本;若匹配留空则替换整个名称或值。

值字段支持"替换首个"或"替换全部"模式。名称字段在正则匹配时始终采用"替换首个"模式,否则执行完全匹配并替换整个名称。

对于不需要名称/值字段的重写规则类型可禁用相应字段。

建议

若重写规则未按预期工作,调试可能较为困难。建议通过频繁测试逐步构建规则。

位置匹配

每个位置匹配可包含协议、主机、端口和路径模式以匹配特定URL。位置支持通配符。添加新位置时可查看更详细的匹配创建帮助。

调试

当重写操作未按预期工作时可能难以调试。建议尝试包含基础规则(如添加明显标头)以确认规则是否匹配请求。还可通过Charles窗口菜单的"错误日志"启用"调试"选项获取调试信息。