python2.7使用requests时报错SSLError: HTTPSConnectionPool(host='b-ssl.duitang.com', port=443)

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)


具体见官方文档:SSL证书验证

 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答案来自知乎





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值