import requests
url='https://www.duitang.com/napi/blog/list/by_search/?kw=%E6%A0%A1%E8%8A%B1&start=0&limit=1000'
page=requests.get(url)
代码运行后
SSLError: HTTPSConnectionPool(host='b-ssl.duitang.com', port=443):
Requests 可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。SSL 验证默认是开启的,如果证书验证失败,Requests 会抛出 SSLError:
第一种解决方法:
将verify
设置为 False,Requests 将忽略对 SSL 证书的验证
import requests
url='https://www.duitang.com/napi/blog/list/by_search/?kw=%E6%A0%A1%E8%8A%B1&start=0&limit=1000'
page=requests.get(url,verify=False)
http://docs.python-requests.org/zh_CN/latest/user/advanced.html#ssl
第二种解决方法:
由于python2不支持SNI
具体SNI了解转:http://blog.csdn.net/makenothing/article/details/53292335
pip安装3个模块:
1.pyOpenSSL
2.ndg-httpsclient
3.pyasn1
然后在使用requests请求前添加如下代码:
import urllib3.contrib.pyopenssl
urllib3.contrib.pyopenssl.inject_into_urllib3()
https://www.zhihu.com/question/40025043答案来自知乎