【发布时间】:2020-08-01 11:40:25
【问题描述】:
我在尝试抓取网站时遇到 SSLError。
import requests
url = 'https://www.amazon.com/'
page = requests.get(url)
content=page.content
print(content)
输出:~\Anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies) 429 除了 (_SSLError, _HTTPError) 作为 e: 430 如果是实例(e,_SSLError): --> 431 引发 SSLError(e, request=request) 432 elif isinstance(e,ReadTimeoutError): 第433章
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1076)
有一个可行的解决方法:
import requests
url = 'https://www.amazon.com/'
page = requests.get(url=url, verify =False)
content=page.content
print(content)
但我很想用我的证书解决这个问题!
我已经更新了包括请求在内的所有内容,重新安装了我的 Anaconda3, 用 https://www.ssllabs.com 检查了我的证书 - 它们没问题。
系统信息:Windows 10,pip 版本 20.0.2,anaconda3,python 3.7
关于 THAT DAMN 1076 错误具体指的是什么以及如何修复它的任何想法?
提前致谢
【问题讨论】:
-
我认为验证 False 会跳过 ssl,并通过 http 连接。这似乎不是一种解决方法,但可以避免连接到 HTTPS
-
是的,就是 https 连接失败 - 不知道为什么,检查了我的验证 - 没问题
-
我实际上在网上查了一下,发现一些链接指向我的 github,他们有一些错误活动。我觉得这是众所周知的事情。
-
可能 - 无论如何我决定尝试安装 Anaconda 4 - 这可能会解决它.....
标签: python ssl environment-variables ssl-certificate anaconda3