运行Gmail API示例quickstart.py报ConnectionResetError 10054如何解决
Gmail API 官方示例ConnectionResetError 10054 修复方案
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host错误触发在SSL握手阶段,对应Gmail API接口调用请求无法正常触达服务器,可按以下顺序排查修复:
- 网络环境校验
确认当前网络可正常访问Google服务,若处于网络受限环境,需配置合规的系统代理,Python会自动继承系统代理配置,代理节点异常时可先切换节点再重试。 - 升级依赖组件
老旧版本的关联依赖存在SSL兼容缺陷,执行命令升级所有相关包:pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib httplib2 - 增加请求超时配置
官方示例默认未配置请求超时,网络波动时易触发连接重置,修改service初始化代码如下:# 替换原有的 service = build('gmail', 'v1', credentials=creds) 代码段 import httplib2 # 设置120秒超时 http = httplib2.Http(timeout=120) # 绑定认证信息 http_auth = creds.authorize(http) service = build('gmail', 'v1', http=http_auth) - 重置认证信息
删除本地生成的token.json文件,重新运行程序触发OAuth授权流程,生成新的认证文件后再调用接口。 - 本地安全规则校验
检查Windows防火墙、第三方杀毒软件是否拦截了Python进程的对外SSL请求,可临时关闭相关安全软件后重试。
内容的提问来源于stack exchange,提问作者ARNO
相关产品推荐
相关产品推荐

