Python requests请求127.0.0.1:7001HTTPS服务报Connection refused如何解决
问题原因及解决方法
你浏览器看到的“页面不安全”提示是自签HTTPS证书导致的,你代码里已经做了对应的忽略配置,该问题和当前的连接报错无关。
两个现象的核心逻辑:
- 变量未定义是因为
requests.get执行时直接抛出了ConnectionError异常,代码在完成req变量的赋值前就终止运行,因此req没有被创建,调用自然报错。 - 核心错误
Connection refused(连接被拒绝)是请求根本没有触达目标服务,按以下步骤排查解决:
第一步:确认7001端口的服务正常监听
执行终端命令查看端口占用情况:sudo ss -tulnp | grep 7001如果命令无输出,说明你启动的应用没有成功运行在7001端口,要么是启动过程报错退出,要么是应用配置的端口不是7001,回到应用启动日志检查配置即可。
如果有输出,确认监听地址是127.0.0.1或者0.0.0.0,如果监听的是其他公网/局域网地址,请求127.0.0.1自然无法连通。第二步:确认请求协议匹配
先在浏览器直接访问http://127.0.0.1:7001确认是否能打开,如果可以正常访问说明服务走的是HTTP协议,你代码里用https开头的URL是错误的,修改代码的url参数为http://127.0.0.1:7001即可,也不需要加verify=False参数。
如果确实需要走HTTPS协议,确认应用的HTTPS配置没有错误,证书、端口绑定都正常。第三步:添加异常捕获逻辑优化代码
可以添加try-except块避免程序直接崩溃,方便后续排查问题:from urllib3.exceptions import InsecureRequestWarning import requests requests.urllib3.disable_warnings(category=InsecureRequestWarning) try: # 增加timeout参数避免长时间无响应 req = requests.get(url='https://127.0.0.1:7001', verify=False, timeout=5) print(req.status_code) print(req.text) except requests.exceptions.RequestException as e: print(f"请求出错:{e}")
内容的提问来源于stack exchange,提问作者Vishak Raj
相关产品推荐
相关产品推荐

