You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Golang调用Google Translate API报i/o timeout连接超时错误

问题根因

你遇到的connection timed out属于网络连通性故障,和代码逻辑、服务账号凭证有效性无关:报错明确显示程序在尝试连接Google Cloud翻译服务的公网端点203.208.39.193:443时,TCP建连阶段就没得到响应,最终触发i/o超时。

排查解决步骤

按优先级从高到低排查:

  • 先验证本地到Google公网服务的基础连通性:直接用本地浏览器访问Google搜索、Google Cloud控制台,如果都无法正常加载,说明本地网络直连Google服务不通——这是国内开发环境下最常见的触发原因,需要先给开发环境配置可用的合法网络代理。
  • 如果浏览器能正常访问Google服务,说明是Go程序没有正确走代理:Go的gRPC客户端默认不会自动读取系统代理配置,需要在运行程序前手动指定代理环境变量,Windows PowerShell下执行示例(把端口替换成你本地代理的实际监听端口,常见的如7890、10809):
    $env:HTTP_PROXY="http://127.0.0.1:代理端口"
    $env:HTTPS_PROXY="http://127.0.0.1:代理端口"
    go run client.go
    
  • 检查本地防火墙、安全防护软件是否拦截了Go程序的出站请求,可临时关闭防火墙后重试,确认是否是拦截规则导致的断连。
  • 调通前先去掉你代码里注释掉的5秒超时配置,首次建立gRPC连接、拉取认证令牌的耗时可能超过5秒,等功能调通后再根据实际需求设置合理的超时阈值。
  • 最后确认Google Cloud控制台中,你的项目已经正式启用Cloud Translation API,注意API未启用的报错一般是权限类/服务未激活错误,不会触发连接超时,这一项放在最后验证即可。
可选代码优化

你的现有代码有两处不影响超时,但可以修正的小问题:

  • 不需要同时设置GOOGLE_APPLICATION_CREDENTIALS环境变量和传入option.WithCredentialsFile参数,二选一即可完成凭证加载。
  • translateText函数目前无论翻译是否成功都固定返回空字符串,记得将接口返回的翻译结果赋值后返回,否则main函数中永远打印不出实际翻译内容。

内容的提问来源于stack exchange,提问作者foc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:51:29