我从早上开始尝试将一个特定页面加载到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;
我继续收到这条消息 error i got
答案 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”);