接口自动化,证书异常:requests.exceptions.SSLError: HTTPSConnectionPool

在执行接口自动化测试时遇到HTTPS连接池的SSLError问题,通过设置requests库的verify参数为False可以暂时解决问题,但会产生警告。为消除警告,需要导入特定模块并进行配置,实现无警告的HTTPS请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题:

在做接口自动化的时候,报错:

requests.exceptions.SSLError: HTTPSConnectionPool(host='staffssoapi123', port=443): Max retries exceeded with url:

raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='staffssoapi123.baid', port=443): Max retries exceeded with url: /login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))

二、解决办法:

1、在requests请求中,加 :verify=False

ret = requests.post(url, data=json.dumps(params), headers=headers,verify=False).json()

结果:requests发送成功,但是会报warmings

InsecureRequestWarning: Unverified HTTPS request is being made to host 'staffssoapi'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#
import requests import ssl ssl._create_default_https_context = ssl._create_unverified_context # 定义请求的URL url = 'https://7b4df3.ovbsefstsjhbe.sbs/book3.php?q=C009DD69&m=&f=_all&s=&p=1' # 定义请求头 headers = { 'Cookie': 'rz81px=nnqp6jomv3lvu', 'Accept-Encoding': 'gzip', 'User-Agent': 'okhttp/4.12.0', 'Connection': 'Keep-Alive', 'Content-Encoding': 'gzip' # 注意:通常不需要在请求头中设置Content-Encoding,除非服务器要求 } # 发送GET请求 response = requests.get(url, headers=headers) # 打印返回的状态码 print("Status Code:", response.status_code) # 打印返回的内容(自动解压gzip) print("Response Content:", response.text) 这个代码报错:G:\ANACONDA\python.exe D:\Python-master\Pyqt6\pythonProject\3.水平布局.py urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000) The above exception was the direct cause of the following exception: Traceback (most recent call last): File "G:\ANACONDA\Lib\site-packages\requests\adapters.py", line 589, in send resp = conn.urlopen( ^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\urllib3\connectionpool.py", line 843, in urlopen retries = retries.increment( ^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\urllib3\util\retry.py", line 519, in increment raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='7b4df3.ovbsefstsjhbe.sbs', port=443): Max retries exceeded with url: /book3.php?q=C009DD69&m=&f=_all&s=&p=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)'))) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\Python-master\Pyqt6\pythonProject\3.水平布局.py", line 18, in <module> response = requests.get(url, headers=headers) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\requests\api.py", line 73, in get return request("get", url, params=params, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\requests\api.py", line 59, in request return session.request(method=method, url=url, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\requests\sessions.py", line 589, in request resp = self.send(prep, **send_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\requests\sessions.py", line 703, in send r = adapter.send(request, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "G:\ANACONDA\Lib\site-packages\requests\adapters.py", line 620, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='7b4df3.ovbsefstsjhbe.sbs', port=443): Max retries exceeded with url: /book3.php?q=C009DD69&m=&f=_all&s=&p=1 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)'))) 进程已结束,退出代码为 1
最新发布
07-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值