Python网络爬虫时出现SSL验证报错的解决办法
发布于 2018年01月19日
· 最近修改于 2026年03月23日

最近在使用
秋大的LAMP一键安装包搭建网站服务器时,在其中.py文件的验证过程中遇到了以下的报错:
[code lang="py"]File "/usr/lib64/python2.7/urllib2.py", line 1197, in do_open raise URLError(err)
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>[/code]
经了解,Python 升级到 2.7.9 之后引入了一个新特性,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书,而当目标网站使用的是自签名的证书时就会抛出此异常。解决办法:
在urllib2.py文件末尾加入以下代码:
[code lang="py"]
try:
_create_unverified_https_context = ssl._create_unverified_context
except AttributeError:
# Legacy Python that doesn't verify HTTPS certificates by default
pass
else:
# Handle target environment that doesn't support HTTPS verification
ssl._create_default_https_context = _create_unverified_https_context [/code]
重试即可解决问题 : )
评论 (0)
请 登录 后发表评论,或填写以下信息:
暂无评论,快来发表第一条评论吧!