gpt4 book ai didi

webview - 自动检测代理 - JavaFX - webview

转载 作者:行者123 更新时间:2023-12-04 15:45:43 27 4
gpt4 key购买 nike

我的浏览器 (webview) 以 HTML 页面开头

FILEJAVA.class.getResource ("FILEHTML.html")。 ToExternalForm ()

每当我访问谷歌时,我想知道浏览器是否检查,网络是否有代理(代理工作手册)

这样浏览器就会显示一个对话框来输入用户名和密码。

最佳答案

您可以使用 ProxySelector检查代理。看下一个例子:

public class DetectProxy extends Application {

private Pane root;

@Override
public void start(final Stage stage) throws URISyntaxException {
root = new VBox();

List<Proxy> proxies = ProxySelector.getDefault().select(new URI("http://google.com"));
final Proxy proxy = proxies.get(0); // ignoring multiple proxies to simplify code snippet
if (proxy.type() != Proxy.Type.DIRECT) {
// you can change that to dialog using separate Stage
final TextField login = new TextField("login");
final PasswordField pwd = new PasswordField();
Button btn = new Button("Submit");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
System.setProperty("http.proxyUser", login.getText());
System.setProperty("http.proxyPassword", pwd.getText());
showWebView();
}
});
root.getChildren().addAll(login, pwd, btn);
} else {
showWebView();
}

stage.setScene(new Scene(root, 600, 600));
stage.show();
}

private void showWebView() {
root.getChildren().clear();
WebView webView = new WebView();

final WebEngine webEngine = webView.getEngine();
root.getChildren().addAll(webView);
webEngine.load("http://google.com");

}

public static void main(String[] args) {
launch();
}
}

在某些情况下,身份验证可能需要额外的代码,请参阅 Authenticated HTTP proxy with Java详情。

关于webview - 自动检测代理 - JavaFX - webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15575276/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com