certificate verify failed: unable to get local issuer certificate (_ssl.c:1091)>
时间: 2023-10-31 20:55:37 浏览: 55
当使用urllib包打开https链接时,可能会遇到"certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)"这个错误。这个错误的原因是因为在Python 2.7.9之后的版本中,urllib会验证SSL证书。当目标网站使用的是自签名的证书时,就会抛出这个异常。解决这个问题的方法是可以通过以下步骤进行操作:
1. 在Python代码中加入import ssl的语句来引入ssl模块。
2. 添加ssl._create_default_https_context = ssl._create_unverified_context的代码行,这样可以创建一个未经验证的SSL上下文。
通过以上操作,你就可以成功解决"certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)"的问题。这样你就可以继续使用urllib包来打开https链接了。
相关问题
升级pip certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)'
当你在升级pip时,可能会遇到"certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)"的错误。这个错误通常是由于SSL证书验证失败引起的。有几种方法可以解决这个问题。
1.使用源代码中增加忽略证书校验的方法。在你的Python脚本中添加以下代码:
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
这将创建一个未经验证的SSL上下文,从而解决证书验证失败的问题。
2.更新你的pip版本。在命令行中输入以下命令:
python -m pip install --upgrade pip
这将更新你的pip版本,并且可能会解决证书验证失败的问题。
3.手动安装证书。你可以从证书颁发机构的网站上下载证书,并将其安装到你的计算机上。具体步骤可以参考证书颁发机构的文档。
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
当出现[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)的报错信息时,这通常表示无法获取本地签发者证书。这可能是因为网站使用了自签名证书或系统根证书存在问题。
解决这个问题的一种方法是使用`certifi`库提供的CA证书来进行验证。首先,你需要导入`certifi`和`urllib`模块:
```python
import certifi
import urllib
```
然后,你可以使用`urllib.request.urlopen()`函数的`cafile`参数来指定CA证书的路径,例如:
```python
urllib.request.urlopen('https://example.com/bar/baz.html', cafile=certifi.where())
```
这将使用`certifi`库提供的CA证书来进行证书验证。
除了使用`certifi`库提供的CA证书外,你还可以全局取消证书验证。可以使用`ssl`模块的`_create_default_https_context`函数来取消证书验证,示例如下:
```python
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
```
这将取消对证书的验证,但也可能降低安全性。在使用此方法时,请确保你信任要访问的网站。
综上所述,解决[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)的方法包括使用`certifi`库提供的CA证书进行验证或全局取消证书验证。你可以根据具体情况选择适合你的方法来解决这个问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)