我在我的应用程序中使用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,以防万一。
谢谢!
答案 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());