KivyMD搭配MySQL运行报错:远程主机强制关闭现有连接如何解决
这个错误和缺失依赖完全无关,是远端服务器主动断开HTTPS连接导致的,WinError 10054的含义就是已经建立的TCP连接被远端主机关闭。
为什么不是依赖问题
你提供的依赖清单已经完整覆盖了当前用到的所有组件的功能需求,且代码已经稳定运行超过三周,在你没有改动代码、没有调整依赖版本的前提下,不可能突然出现依赖缺失类错误。
可能的触发原因
- 目标图片站点
lereseaufoncier.fr近期新增了反爬策略:比如限制短时间内的请求频次、校验请求头的User-Agent字段,检测到是非浏览器的默认程序请求就直接断开连接 - 你本地的网络环境发生了变化:比如运营商新增了访问限制、本地防火墙/安全软件拦截了对该站点的请求
- 目标站点的SSL证书近期做了更新,你本地的根证书信任链暂时无法匹配新证书
可尝试的解决方法
- 先做基础排查:直接在本地浏览器打开报错的图片链接,确认是否可以正常加载,也可以用接口测试工具模拟请求,如果同样加载失败,就可以确定是站点限制或者本地网络问题
- 调整图片请求策略:
- 给图片请求添加常规浏览器的User-Agent请求头,模拟正常用户访问
- 降低图片加载的并发数,不要同时发起15-20张图片的请求,可以加个几百毫秒的延迟逐个加载,避免触发站点的频率限制
- 新增请求重试机制,遇到连接重置错误时,等待1-2秒后再重试2-3次
- 更新根证书集合:执行
pip install --upgrade certifi命令升级certifi包到最新版本,更新本地的根证书信任链 - 备选方案:如果确实是站点反爬无法绕过,可以考虑提前把需要的图片缓存到本地或者你自己的服务器,后续直接从本地加载,不需要每次都请求源站
内容的提问来源于stack exchange,提问作者Romain Plantureux
相关产品推荐
相关产品推荐

