为了让我的应用程序(.Net 1.1)使用系统配置的代理服务器(通过 proxy.pac 脚本),我使用了对 WinHTTP 函数 WinHttpGetProxyForUrl 的互操作调用,传递了我从注册表中获得的 proxy.pac url。
不幸的是,我遇到了一个部署场景,这不起作用,因为 proxy.pac 文件本地部署在用户的硬盘上,并且 url 是“file://C://xxxx”
正如 WinHttpGetProxyForUrl 文档中明确指出的那样,它仅适用于 http 和 https 方案,因此文件://失败
我正在考虑解决这个问题的 2 个“丑陋”解决方案(pac 文件是 javascript):
创建一个单独的 JScript.NET 项目,具有单个静态方法 Eval(string) 的单个类,并使用它在运行时评估从 pac 文件中读取的函数
在运行时构建 JScript.NET 程序集并加载它。
由于这些解决方案真的很丑:),有人知道更好的方法吗?是否有可以通过互操作使用的 Windows 功能?
如果没有,你们对上述两种解决方案有什么看法——你更喜欢哪一种?