2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hoc blog stipes resolvitur per Okhttp 4.6.0hostnameVerfier
Ut nomen sonat, principale munus huius methodi est cognoscerehostnname
legalium. Okhttp configurare possumus ipsi in initializationhostnameVerfier
:
new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.writeTimeout(35, TimeUnit.SECONDS)
.hostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
//注意这里在生产环境中千万不要直接写死true
return true;
}
})
.build();
sedEst multum informationes online aboutverfiy
Revera vera directe valde periculosa est.Utique, si verificare redit fasle, significat verificationem hostname et deesse et http petitio impetrare non potest. Exempli gratia, si petitionem cum inscriptione diarii incipiam, error nuntius hoc modo est:
{http errorCode=-500, mErrorMsg=Hostname yanchen.blog.csdn.net not verified:
certificate: sha256/tlnf6pbfeu257hnJ9e6j4A1ZWH3vVMzn3Zn3F9kLHdg=
DN: CN=*.blog.csdn.net
subjectAltNames: [*.blog.csdn.net]}
De loco ubi vertify supplicium est inRealConnectionIntus, post supplicium.
Praeter customizationhostnameVerfier
Praeterea, Okhttp praebet exsecutionem defaltam. Nunc principia interna resolvere.
OkHostnameVerifier aedificatur in Okhttp, et haec methodus transitsession.peerCertificates[0] as X509Certificate
Accipere libellum object
override fun verify(host: String, session: SSLSession): Boolean {
return try {
verify(host, session.peerCertificates[0] as X509Certificate)
} catch (_: SSLException) {
false
}
}
fun verify(host: String, certificate: X509Certificate): Boolean {
return when {
host.canParseAsIpAddress() -