为了账号安全,请及时绑定邮箱和手机立即绑定

setDefaultHostnameVerifier 中验证方法的目的

setDefaultHostnameVerifier 中验证方法的目的

慕哥6287543 2021-10-28 16:59:40
你能告诉我下面的代码是做什么的吗?从哪里获取主机名以及验证方法的目的是什么?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;                }            });}
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

当您连接到 HTTPS URL 时,目标站点会显示其证书,其中包含可以使用该证书的域列表。(见下图示例)。当您获得一个HttpsURLConnection

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

//img1.sycdn.imooc.com//617a66b4000108e109421003.jpg

查看完整回答
反对 回复 2021-10-28
  • 1 回答
  • 0 关注
  • 565 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信