如何更改特定应用程序的给定 URL 的内容?

如何更改特定应用程序的给定 URL 的内容?

为了测试目的,我需要更改给定 URL 的内容,以查看应用程序对其的反应。在 Windows 上有什么方法可以做到这一点吗?

例如:<html><body><p>Hello!</p></body></html>在请求时让 Foo.exe 获取GET http://www.google.com

答案1

您可以使用Fiddler为此。它充当您的计算机和互联网之间的代理。它的一项名为 AutoResponder 的功能可用于更改特定请求的处理方式。它甚至可以让您模拟延迟。

  1. 启动 Fiddler。它会在启动时自动安装代理,并在您退出时将其卸载。
  2. 切换到自动回复器标签检查启用规则
  3. 添加规则。要精确匹配 URL,请使用EXACT:前缀,例如。EXACT:http://www.example.com/api/v2/lists选择要用作响应的文件。该文件应包含完整的 HTTP 响应,包括标头。
  4. 点击节省并观察奇迹的发生。

当然,要实现此功能,您的应用必须遵守系统的代理配置。如果没有,但您可以手动输入代理设置,Fiddler 将默认在 localhost:8888 上运行 - 您可以使用它。

如果您不想手动制作有效的 HTTP 响应文件,只需创建一个包含所需内容的文件,将其上传到任何服务器并在浏览器中打开。它应该出现在 Fiddler 中。右键单击它,然后单击保存 → 回复 → 完整回复

如果您要替换的网站使用的是 SSL/TLS(HTTPS 连接),那么情况会稍微复杂一些。可以设置 Fiddler 对此类连接执行中间人攻击(它基本上会使用有效证书解密它们,根据您的指示编辑响应,然后使用您必须添加到 Windows 受信任证书存储中的自己的证书重新加密)。但是,这会导致使用证书固定的程序出现问题:这些程序会检测到内容是用未知证书签名的,并采取相应的措施。例如,如果在 Google 域中检测到非 Google 颁发的证书,Chrome 会向主页报告。

答案2

我设法构建了 Foo.exe,所以这对我来说不再是必要的,但在放弃之前,我找到了一个名为的网络调试工具查尔斯. 它提供的功能之一是本地 DNS 欺骗

Charles 包含您配置的域名到 IP 地址映射列表。当对列出的域名发出请求时,Spoof DNS 插件会找到欺骗 IP,并将请求重定向到该地址。Host HTTP 标头保持不变,因此就像您的 DNS 服务器返回了欺骗 IP 一样。

这是一款付费应用程序,但对于处于与我类似情况的任何人来说它都很有用。

相关内容