无法将页面加载到webview

时间:2016-12-03 13:21:14

标签: java javafx

我从早上开始尝试将一个特定页面加载到javafx中的webview。我每次尝试都会向我展示

  

浏览器错误

     

您使用的旧版浏览器未通过安全检查。请使用较新的浏览器



WebView wv = new WebView();
		wv.getEngine().setCreatePopupHandler(new Callback<PopupFeatures, WebEngine>() {

			@Override
			public WebEngine call(PopupFeatures p) {
				Stage stage = new Stage(StageStyle.UTILITY);
				WebView wv2 = new WebView();
				stage.setScene(new Scene(wv2));
				stage.show();
				return wv2.getEngine();
			}
		});

		StackPane root = new StackPane();
		root.getChildren().add(wv);
		 Stage primaryStage = new Stage();
		Scene scene = new Scene(root);

		primaryStage.setTitle("ONE YEAR PLAN");
		primaryStage.setScene(scene);
		primaryStage.show();
		wv.getEngine().load("http://paystack.com/pay/one_year_plan");
&#13;
&#13;
&#13;

我继续收到这条消息 error i got

2 个答案:

答案 0 :(得分:1)

我要坚持下去,并说在JavaFX WebView中成功加载此页面是不可能的。

paystack.com上提供的页面呼叫https://www.howsmyssl.com/a/check以检查浏览器的SSL设置。在Chrome中导航到此网址会返回一个JSON对象,其中包含有关Chrome的SSL支持的信息。尝试使用JavaFX WebView访问相同的URL会返回404错误。然后PayStack页面捕获404错误并显示您看到的警告消息。

我不能责怪PayStack想要锁定他们的网站。许多其他金融机构也会这样做。我也不会惊讶地发现GUI中的Web浏览器组件存在局限性:根据我的经验,这些组件从未像“适当的”Web浏览器那样功能齐全。

很抱歉,但我怀疑你不得不放弃这个。

答案 1 :(得分:0)

我没有在JavaFX中尝试过这个,但我们在Swing应用程序中使用java.net.URLConnection做了类似的事情。我们得到了同样的答复,这就是解决方法 试着打电话:

        wv.getEngine()。setUserAgent(“Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 53.0.2785.143 Safari / 537.36”);