setDefaultHostnameVerifier 中验证方法的目的

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


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;

                }

            });

}


慕哥6287543
浏览 566回答 1
1回答

萧十郎

当您连接到 HTTPS URL 时,目标站点会显示其证书,其中包含可以使用该证书的域列表。(见下图示例)。当您获得一个HttpsURLConnection在您发布的代码中,您定义了一个HostnameVerifier在上述检查失败时调用的。如果您要连接的域是 localhost,则您允许连接设置继续。这允许您将任何证书用于https://localhost域中的服务。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java