JavaFX webview set Proxy



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

现在根据这个问题,如果我想使用代理,我应该只做:

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

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

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

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

谢谢!

该问题是由我之前所做的错误修复引起的。在 java 中使用代理时,这篇文章非常有帮助。最后它建议设置 ProxySelector.setDefault(null); 以避免套接字和代理出现问题。

但是,这使得通过设置代理

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

不可能的。实际上,除了将 Proxy 对象传递给 Proxy 对象之外,根本无法设置任何代理URL.openConnection(Proxy p);

因此,我建议不要将默认的代理选择器设置为 null,而是设置

ProxySelector.setDefault(ProxySelector.getDefault());

最新更新