SSL错误:无法获取本地颁发机构证书(_ssl.c:1076)

5

我在尝试爬取网站时遇到了SSLError。

import requests
url = 'https://www.amazon.com/'
page = requests.get(url)
content=page.content
print(content)

输出:~\Anaconda3\lib\site-packages\requests\adapters.py 在发送请求时,如果出现了(_SSLError, _HTTPError)异常,则会触发以下代码:

SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

有一个可行的解决方法:

import requests
url = 'https://www.amazon.com/'
page = requests.get(url=url, verify =False)
content=page.content
print(content)

但是我希望解决我的证书问题!

我已经更新了所有东西,包括requests,并重新安装了Anaconda3,使用https://www.ssllabs.com检查了我的证书 - 它们没问题。

系统信息:Windows 10,pip版本20.0.2,anaconda3,python 3.7

你有没有什么想法关于那个该死的1076错误特别指的是什么以及如何修复?

非常感谢您提前的帮助。


我认为verify False会跳过SSL,然后通过HTTP连接。这似乎不是一种解决方法,但可以避免连接到HTTPS。 - sameer
是的,这就是问题所在,HTTPS连接失败了,不知道为什么,我检查了验证,一切都没问题。 - Victoria
我实际上在网上查找了一下,并找到了一些指向Github的链接,它们对此进行了一些错误活动。我觉得这是一个已知的问题。 - sameer
无论如何,我决定尝试安装Anaconda 4 - 这可能会解决它的问题..... - Victoria
1个回答

2

公司政策要求全球IT安装了“神奇”的Zscaler,我从IT部门得到了证书 - 现在正在努力将其安装到Anaconda3中,现在发布这个问题


在将Zscaler根证书安装到Windows信任根存储区之后,只需从pypi或conda-forge安装pip-system-certs或python-certifi-win32即可。 - Mark Mikofski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接