【参考资料】https://reality0ne.com/python2-7-9-certificate_verify_failed/
【原因】
Python 升级到 2.7.9 之后引入了一个新特性,当你urllib.urlopen
一个 https 的时候,会验证一次 SSL 证书,当目标网站使用的是自签名的证书时就会爆出一个 urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>
的错误消息
【解决办法】
1、全局设置,对requests不生效
import ssl
ssl._create_default_https_context = ssl._create_unverified_context # 解决证书不受信任
2、request.get 传参,不进行证书认证
import requests
r = requests.get(url, headers=headers, cookies=cookie, verify=False)