我希望我的 Java 程序使用系统的代理配置。因此,我使用在许多地方找到的代码(例如这个 answer)设置java.net.useSystemProxies
为 true 并调用ProxySelector.getDefault().select(...)
以发现我想要访问的特定主机的代理。当我在 Internet 属性中配置了单个显式代理服务器时,这可以正常工作。但是如果我设置了“使用自动配置脚本”,它总是返回直接的“代理”。
我知道该脚本有效,因为我的浏览器可以访问它为其返回代理服务器的主机,而如果没有脚本集,它就不能。我什至尝试将脚本简化为最基本的要素:
function FindProxyForURL(url, host)
{
return "PROXY my.proxy.mydomain:3128";
}
它在我的浏览器中工作,但ProxySelector.getDefault().select(...)
仍然只返回 DIRECT。
我错过了什么吗?(这是在 Java 1.6 和 Windows 7 上,如果有关系的话。)