为了测试目的,我需要更改给定 URL 的内容,以查看应用程序对其的反应。在 Windows 上有什么方法可以做到这一点吗?
例如:<html><body><p>Hello!</p></body></html>
在请求时让 Foo.exe 获取GET http://www.google.com
。
答案1
您可以使用Fiddler为此。它充当您的计算机和互联网之间的代理。它的一项名为 AutoResponder 的功能可用于更改特定请求的处理方式。它甚至可以让您模拟延迟。
- 启动 Fiddler。它会在启动时自动安装代理,并在您退出时将其卸载。
- 切换到自动回复器标签检查启用规则。
- 添加规则。要精确匹配 URL,请使用
EXACT:
前缀,例如。EXACT:http://www.example.com/api/v2/lists
选择要用作响应的文件。该文件应包含完整的 HTTP 响应,包括标头。 - 点击节省并观察奇迹的发生。
当然,要实现此功能,您的应用必须遵守系统的代理配置。如果没有,但您可以手动输入代理设置,Fiddler 将默认在 localhost:8888 上运行 - 您可以使用它。
如果您不想手动制作有效的 HTTP 响应文件,只需创建一个包含所需内容的文件,将其上传到任何服务器并在浏览器中打开。它应该出现在 Fiddler 中。右键单击它,然后单击保存 → 回复 → 完整回复。
如果您要替换的网站使用的是 SSL/TLS(HTTPS 连接),那么情况会稍微复杂一些。可以设置 Fiddler 对此类连接执行中间人攻击(它基本上会使用有效证书解密它们,根据您的指示编辑响应,然后使用您必须添加到 Windows 受信任证书存储中的自己的证书重新加密)。但是,这会导致使用证书固定的程序出现问题:这些程序会检测到内容是用未知证书签名的,并采取相应的措施。例如,如果在 Google 域中检测到非 Google 颁发的证书,Chrome 会向主页报告。