JavaFX webview设置代理

时间:2015-01-26 14:42:09

标签: webview proxy javafx

我在我的应用程序中使用JavaFX webview。在其中我加载了一个本地html文件,该文件本身从maps.google.com加载一些javascript库,然后在webview中显示带有一些标记的谷歌地图。

现在根据this question,如果我想使用代理,我应该这样做:

System.setProperty("http.proxyHost","proxy.esrf.fr");
System.setProperty("http.proxyPort","3128");

但这没有效果。我可以设置我想要的任何东西作为主机和端口。即使设置不是有效代理,Google地图图块仍会加载。显然它没有使用代理设置。

如何确保WebView中的所有Web流量都通过代理进行。

我还设置了https.proxyHost和https.proxyPort,以防万一。

谢谢!

1 个答案:

答案 0 :(得分:2)

问题是由我之前做的错误修正引起的。 在java this post中使用代理时非常有帮助。最后它建议设置 ProxySelector.setDefault(null); 避免套接字和代理问题。

然而,这通过

设置了代理
System.setProperty("http.proxyHost","proxy.esrf.fr");
System.setProperty("http.proxyPort","3128");

不可能。实际上,除了将代理对象传递给URL.openConnection(Proxy p);

之外,根本无法设置任何代理

因此,我建议不要将默认的ProxySelector设置为null,而是设置

ProxySelector.setDefault(ProxySelector.getDefault());