go get命令连接失败

go版本:1.20.6

需求:用GBK解码字符串,但是执行以下命令效果如下

命令:

go get golang.org/x/text/encoding/simplifiedchinese@latest

返回:

go: golang.org/x/text/encoding/simplifiedchinese@latest: module golang.org/x/text/encoding/simplifiedchinese: Get "https://proxy.golang.org/golang.org/x/text/encoding/simplifiedchinese/@v/list": dial tcp 142.251.42.241:443: connectex: A connection attempt fail
ed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

命令:

go get golang.org/x/text/encoding/simplifiedchinese@v0.11.0

img

返回:

go: golang.org/x/text/encoding/simplifiedchinese@v0.11.0: Get "https://proxy.golang.org/golang.org/x/text/encoding/simplifiedchinese/@v/v0.11.0.info": dial tcp 142.251.43.17:443: connectex: A connection attempt failed because the connected party did not proper
ly respond after a period of time, or established connection failed because connected host has failed to respond.

https://proxy.golang.org/https://pkg.go.dev/ 都连的上,但就是下载不了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答由chatgpt基于相关博客总结生成:

    这个问题通常是由于网络连接问题导致的。但是,你可以尝试以下解决方案:

    1. 检查网络连接:
    2. 确保你的计算机正常连接到互联网。
    3. 你可以尝试使用其他应用程序验证你的网络连接是否正常。

    4. 检查防火墙和代理设置:

    5. 有时防火墙或代理设置可能会阻止go get命令连接到所需的地址,因此,请先检查你的防火墙和代理设置。
    6. 如果你使用代理,请确保go get命令已配置为使用代理。你可以设置以下环境变量:

      export http_proxy=http://your_proxy:port export https_proxy=http://your_proxy:port

    7. 尝试使用代理服务器:

    8. 由于你可以成功访问https://proxy.golang.org/https://pkg.go.dev/,那么你可以尝试指定使用代理服务器进行下载。
    9. 在命令行中执行以下命令,使用代理下载:

      go env -w GOPROXY=https://proxy.golang.org,direct

    10. 更改DNS设置:

    11. 可能是你的网络无法正确解析golang.org域名导致的。你可以尝试更改你的DNS设置为其他可靠的DNS服务器。
    12. 一种更简单的解决方法是修改hosts文件,将golang.org映射到正确的IP地址。你可以通过以下方式修改hosts文件:

      • 在Windows上,打开C:\Windows\System32\drivers\etc\hosts文件,并将以下内容添加到文件的末尾: 216.239.37.241 golang.org

      • 在Linux / macOS上,打开终端并执行以下命令: sudo nano /etc/hosts 在打开的文件中添加以下内容: 216.239.37.241 golang.org 保存文件并退出。

    13. 切换到go module代理模式:

    14. go get命令使用的默认代理是https://proxy.golang.org,但在某些情况下可能会无法连接。你可以尝试切换到使用模块代理模式。运行以下命令:

      go env -w GOPROXY=https://goproxy.cn,direct

    15. 更新Go版本:

    16. 某些旧版本的Go可能会遇到与下载模块相关的问题。尝试升级到最新版本的Go,并再次尝试go get命令。

    如果上述解决方案都不起作用,很可能是由于网络或环境问题导致的。在这种情况下,你可以尝试在其他环境中使用go get命令,或者联系你所在的网络管理员以获取更多帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^