我想解决以下问题:
我有一个 Windows 桌面应用程序,它执行许多需要互联网访问的操作。我希望我的应用程序能够使用代理。这很容易编写代码,但我的问题是如何测试它。具体来说,我想测试我的应用程序的所有互联网流量是否都通过代理(如果已配置代理)。
部分问题在于我需要一个有效的代理。我在另一个问题中已经讨论过这个问题:如何设置 Docker 代理(例如 Squid)来发送所有流量?
但另一个问题是:即使我有一个有效的代理,我如何验证应用程序是否使用它?
到目前为止,我能做的最好的就是进行“负面”测试:
- 将 Windows 代理(开始菜单 -> 代理设置)设置为无效的代理,例如,根本没有设置为代理的随机服务器。
- 运行该应用程序并尝试使用需要互联网访问的功能。
- 验证应用程序是否由于互联网访问被坏“代理”有效阻止而失败。
这总比没有好,但我还想做一个“积极”的测试。我想我需要这样做:
- 将 Windows 代理设置为指向有效且正常运行的代理。
- 以某种方式阻止我的计算机上所有不通过代理的互联网流量。
- 运行该应用程序并尝试使用需要互联网访问的功能。
- 验证应用程序是否正常工作。
我不知道如何完成第 2 步。有人可以给我建议吗?