使用 Fiddler 实现本地代码替换远程代码

在实际项目中,有时候会遇到项目已经移交测试,测试同学在测试环境发现了问题,这可能只是前端的问题。

为方便调试和修改,希望将测试环境的静态文件替换为本地的前端代码,接口还沿用测试环境的。

比如:

前端代码(html、js、css、图片等)在测试环境上都放在:http://test.domain.com.cn/static/ 路径下,在本地开发环境都放在:http://127.0.0.1:8080/test/static/ 下。

即我们希望测试环境 static 路径下的所有请求都转发给本地开发环境 static 下的相同路径文件,有点类似全目录替换。

这时就可以用到 Fiddler 的 AutoResponder 功能,该功能比较强大,支持很多种转发或替换方式。

针对这种场景,Rule Editor 中可以定义规则:

匹配:

1
regex:^http://test.domain.com.cn/static/(?<args>.*)$*

替换为:

1
*redir:http://127.0.0.1:8080/test/static/${args}*

这样,访问测试环境 static 目录下的所有请求都转发到本地的代码,然后随意的修改代码调试或定位问题。