JavaFX webview 设置代理

JavaFX webview set Proxy

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

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

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

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

我如何确保 WebView 中的所有网络流量都通过代理。

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

谢谢!

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

但是,这使得通过

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

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

之外,根本不可能设置任何代理

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

ProxySelector.setDefault(ProxySelector.getDefault());