一、概述
我们在用python的 requests模块请求http时可以成功,但在请求 https 时,会报如下错误:
二、失败分析
https是也是http的一种协议,只是传输会加密比http更安全,https = http+SSL/TLS。
1、上述的错误大概意思是代理错误引起的,我们访问的是https,但代理只配置了http。
2、网上搜的解决办法是添加https的代理,我加了还是返回代理错误。
3、python、包的版本导致的问题。
三、解决过程
我的环境版本:
Python 3.8.1
urllib3 1.26.14
requests 2.27.1
1、urlib3降级到1.25.11
pip install urllib3==1.25.11 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2、关闭SSL开关
再次访问https请求,返回安全套接字错误:
使用 verify 关闭SSL,verify默认开启。
r = requests.get(url=url,verify=False).content
3、关闭不安全请求告警
再次访问https,返回不安全请求告警:
导入logging模块,不捕获警告,
在代码中加入:文章来源:https://www.toymoban.com/news/detail-649537.html
logging.captureWarnings(True)
再次访问https,成功!文章来源地址https://www.toymoban.com/news/detail-649537.html
到了这里,关于python3请求https的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!