公司代理环境下Go安装testify库报wsarecv连接强制关闭错误
解决公司代理环境下Go模块安装/mod tidy连接被强制关闭的问题
针对你遇到的公司代理环境中go install、go mod tidy报错连接被远程强制关闭,但浏览器可正常访问的问题,给出以下解决方案:
1. 确保Go命令正确配置代理
浏览器通常会自动读取系统代理,但Go命令需要手动指定:
- 设置HTTP/HTTPS代理(替换为公司实际代理地址和端口):
若代理需账号密码认证,格式为go env -w HTTP_PROXY=http://你的代理地址:端口 go env -w HTTPS_PROXY=http://你的代理地址:端口http://用户名:密码@代理地址:端口 - 配置无需代理的内部地址(如有公司私有仓库):
go env -w NO_PROXY=*.你的公司域名,localhost,127.0.0.1
2. 模拟浏览器User-Agent绕过代理拦截
部分公司代理会校验请求的User-Agent,Go默认的User-Agent可能被拦截,可临时修改为浏览器的标识:
# Windows下用set,Linux/macOS用export set HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" # 之后再执行相关命令 go install github.com/stretchr/testify@v1.4.0 go mod tidy
3. 手动下载模块文件到Go缓存
如果以上方法无效,可手动将模块文件放入Go的模块缓存目录:
- 用浏览器下载所需文件:
v1.4.0.info、v1.4.0.zip - 执行
go env GOMODCACHE查看缓存目录,进入github.com/stretchr/testify/@v路径(不存在则手动创建) - 将下载的两个文件放入该目录,再执行
go install或go mod tidy
4. 跳过SumDB校验减少请求
若报错涉及SumDB相关请求,可临时跳过校验:
go env -w GONOSUMDB=github.com/stretchr/testify go install github.com/stretchr/testify@v1.4.0
内容的提问来源于stack exchange,提问作者vuhoanghiep1993
相关产品推荐
相关产品推荐

