gpt4 book ai didi

java - setDefaultHostnameVerifier 中 verify 方法的用途

转载 作者:行者123 更新时间:2023-12-02 10:44:40 30 4
gpt4 key购买 nike

你能告诉我下面的代码是做什么的吗?主机名从哪里获取以及验证方法的目的是什么?

static {
//for localhost testing only
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
new javax.net.ssl.HostnameVerifier(){

public boolean verify(String hostname,
javax.net.ssl.SSLSession sslSession) {
System.out.println(" hostname = " + hostname);
if (hostname.equals("localhost")) {
return true;
}
return false;
}
});
}

最佳答案

当您连接到 HTTPS URL 时,目标站点会提供其证书,其中包含可以使用该证书的域列表。 (参见下面的示例图片)。当您获取 HttpsURLConnection

时,Java 会对此进行验证

在您发布的代码中,您定义了一个 HostnameVerifier,当上述检查失败时将调用它。如果您要连接的域是 localhost,则您将允许连接设置继续。这允许您使用 https://localhost 处的服务的任何证书。域名。

enter image description here

关于java - setDefaultHostnameVerifier 中 verify 方法的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52674785/

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