1OkHttp接入HttpDNS,最佳实践
https://www.jianshu.com/p/6bd131de81d3
2 拦截器 + HTTPDNS 的解决方案
地址:https://www.cnblogs.com/plokmju/p/okhttp_httpdns.html
这种方式需要考虑的比较多:1 okhttp默认的校验规则OkHostnameVerifier
2 okhttp 获取host的方式
RealConnecction.java
if (!address.hostnameVerifier().verify(address.url().host(), sslSocketSession)) {
X509Certificate cert = (X509Certificate) unverifiedHandshake.peerCertificates().get(0);
throw new SSLPeerUnverifiedException("Hostname " + address.url().host() + " not verified:"
+ "\n certificate: " + CertificatePinner.pin(cert)
+ "\n DN: " + cert.getSubjectDN().getName()
+ "\n subjectAltNames: " + OkHostnameVerifier.allSubjectAltNames(cert));
}
是通过address.url().host(),如果使用这种方式还需要校验证书,那么就得修改这里的host获取方式。
网友评论