python3请求https

一、概述

我们在用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模块,不捕获警告,
在代码中加入:

logging.captureWarnings(True)

再次访问https,成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kk_ojx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值