- 解决CertificateError("too many wildcards in certificate DNS name: " + repr(dn))在urllib3出现报错
报错的原因是由于在证书中使用了过多的通配符导致的。如何解决解决方案可能有以下几种:更新证书:如果证书是由第三方颁发的,可以尝试联系第三方更新证书。使用忽略证书错误的代码:可以在urllib库中设置参数,忽略证书错误, 但是这个做法是不安全的如果是第三方证书,最好联系第三方解决,如果是自己生成的证书最好重新生成证书。如果你使用的是requests库而非urllib库, 你可以在发起请求时加入这个verify=False是告诉requests不验证证书, 也是不安全的做法。
2023-02-19 19:31:17 - 为什么CertificateError(f"hostname {hostname!r} doesn't match {dnsnames[0]!r}"),怎么解决
报错的原因urllib的错误通常是由于主机名与证书中给定的DNS名不匹配导致的。这可能是因为证书是针对其他网站颁发的,或者证书中给定的DNS名是不正确的。你可以考虑使用其他库,例如 requests,它具有更简单的证书验证。使用例子是的,下面是一些使用urllib库的示例代码:禁用证书验证禁用主机名验证使用其他库,例如请注意,禁用证书验证或禁用主机名验证可能会增加安全风险。建议在生产环境中使用有效的证书。
2023-01-24 18:30:02