我刚刚浏览了网络搜索如何获取系统代理设置。我发现:
System.setProperty("java.net.useSystemProxies", "true");
但它什么也没做。我在我的公司网络中有代理设置,但显示代理列表的代码:
ProxySelector.getDefault().select(new URI("http://foo/bar")))
说它只有一个代理“DIRECT”。我不想在已经完成时手动提供代理设置。有没有办法让JVM从OS /浏览器向Java程序(而不是applet)提供代理设置?
好的,我想我明白了:我的浏览器代理是由一些脚本设置的,定义在:
Internet属性/连接/ LAN设置/使用自动 配置脚本
可能这就是为什么Java无法正确列出代理,即使它在浏览器中使用。不幸的是,JVM无法解析脚本并提供这些设置......
答案 0 :(得分:0)
您必须设置属性: System.setProperty(“java.net.useSystemProxies”,“true”); 在main方法中,否则它没有效果,然后按照你的描述调用getDefault()。