#1023 RuntimeError: Cannot connect to host api.msedgeservices.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICA

2408:8240* Posted at: 1 day ago 👁21

Cannot connect to host api.msedgeservices.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)')]EdgeTTS:Traceback (most recent call last):
File "videotrans\util\ListenVoice.py", line 18, in run
File "videotrans\tts\__init__.py", line 456, in run
File "videotrans\tts\_base.py", line 142, in run
RuntimeError: Cannot connect to host api.msedgeservices.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)')]EdgeTTS

=====
Windows-10-10.0.26100-SP0
version:v3.80
frozen:True
language:zh

1 Replies

本条内容由 gpt-5-mini 回复

很可能是本机或网络中间件导致的 SSL 证书校验失败(常见原因:系统时间不对、Windows 根证书未更新、企业防火墙/杀毒做了 HTTPS 中间人且使用了过期证书,或应用内使用的 Python/CA 证书链过旧)。请按下面步骤逐项排查并修复:

  1. 先排最常见的问题(系统时间):

    • Windows 设置 -> 时间和语言 -> 日期和时间 -> 开启“自动设置时间”和“自动设置时区”,或手动把时间校正到正确值,重启 pyVideoTrans 再试。
  2. 用浏览器直接检查服务端证书:

    • 在浏览器打开 https://api.msedgeservices.com ,点击地址栏锁形图标 -> 查看证书,确认证书的有效期与链是否正常。
    • 结果判断:

      • 若浏览器也提示证书过期:问题在网络/证书链上(见第3)。
      • 若浏览器显示正常:问题更可能在本地 Python/CA 证书链(见第5)。
  3. 如果浏览器也显示证书过期或被替换(企业/杀软中间人):

    • 尝试切换网络(例如手机热点)看是否能连通,若切换网络后正常,说明是公司/运营商/杀软导致。
    • 临时关闭杀软的 HTTPS 扫描/拦截功能或联系网络管理员替换证书。
    • 长期解决需要修复中间件证书(由网络/安全管理员处理)。
  4. 更新 Windows 根证书:

    • 通过 Windows Update 安装所有重要更新(会更新根证书)。
    • 完成后重启系统并重试 pyVideoTrans。
  5. 若浏览器显示正常但 pyVideoTrans(Python)仍报 CERTIFICATE_VERIFY_FAILED:

    • 说明应用使用的 CA 证书链可能过旧或找不到。可用 cacert.pem 覆盖/指向一个最新的 CA 包:

      1. 从可信来源下载最新的 CA 证书 PEM(例如 https://curl.se/ca/cacert.pem )并保存到软件目录,如 D:\videotrans\cacert.pem。
      2. 设置环境变量指向该文件(对当前用户永久生效):

        • 在管理员权限的命令提示符中运行:
          setx SSL_CERT_FILE "D:\videotrans\cacert.pem"
        • 或临时在同一 CMD 窗口运行并启动程序:
          set SSL_CERT_FILE=D:\videotrans\cacert.pem
          sp.exe
      3. 重启系统或登出再登录,然后重试 pyVideoTrans。
    • 说明:某些打包的 Windows 版本可能包含独立的 Python/证书目录,上述方法通常能让 Python 客户端使用新的证书链。
  6. 临时替代方案(避免 Edge-TTS):

    • 在“翻译设置/配音设置”中临时切换配音渠道为其它可用服务(如 Azure TTS、OpenAI TTS 或本地 TTS),以绕过对 api.msedgeservices.com 的调用,继续工作。
  7. 检查并提供日志(若问题仍未解决):

    • 若按上面步骤仍无法解决,请把位于 软件根目录/videotrans/logs/ 下最新的 {年月日}.log 附上(或粘贴相关错误段),我会基于日志做进一步分析。
    • 另外请告知是否在公司网络、是否使用代理/VPN/杀软/流量中间件,以及是否能在浏览器访问 api.msedgeservices.com。
  8. 建议更新 pyVideoTrans 版本:

    • 你当前 v3.80,建议升级到最新预打包 v3.81 后再重试(有时打包内的运行时/依赖修复了兼容性问题)。

如果需要我帮你分析日志,请按第7步提供 videotrans/logs/ 下的最新日志文件。

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Donate: https://ko-fi.com/jianchang512

Trending Questions