[684]requests时报错: HTTPSConnectionPool

时间:2025-02-11 13:59:40

报错信息

raise SSLError(e, request=request)
: HTTPSConnectionPool(host='', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)'),))

分析:由于报错SSL证书验证失败,所以这次的访问应该是https协议.但是我们明明使用的是http,所以,猜测访问该网站后,被重定向到了https

解决:关闭证书验证.因为,如果不关闭,请求总是失败,不能获取到重定向的信息.

安装一下几个requests依赖包,然后设置, verify=False

pip install cryptography 
pip install pyOpenSSL
pip install certifi
>>> response = ('/', headers = header, verify=False)
D:\python\lib\site-packages\urllib3\:858: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: /en/latest/#ssl-warnings
InsecureRequestWarning)
>>> 
[<Response [302]>]
>>> 
u'/'

结果出现警告,Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: /en/latest/#ssl-warnings InsecureRequestWarning)

想去掉红框内的内容还需要添加如下代码

# .urllib3.disable_warnings()

from . import InsecureRequestWarning	
#关闭安全请求警告
.urllib3.disable_warnings(InsecureRequestWarning)

参考:/win_turn/article/details/77142100
/hum0ro/p/
/jss19940414/article/details/89886043
/weixin_42081389/article/details/90261719