Requests访问HTTPS出错,ssl证书不受信任
当用requests访问https链接的时候会出现错误,
原因是爬虫访问该网站时不受证书信任,
只要关闭证书验证就行
错误:
Traceback (most recent call last):
....
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 814, in __init__
self.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 1068, in do_handshake
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
解决方法一
import ssl #导入模块
ssl._create_default_https_context = ssl._create_unverified_context #在代码前加入这行即可
解决方法二
import requests.packages.urllib3.util.ssl_
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'ALL' #在代码前加入这行即可
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。