首页  >  文章  >  后端开发  >  为什么在 Go 中实现基本 HTTP 身份验证时出现'不支持的协议方案”错误?

为什么在 Go 中实现基本 HTTP 身份验证时出现'不支持的协议方案”错误?

Barbara Streisand
Barbara Streisand原创
2024-11-21 07:24:10487浏览

Why Am I Getting an

排查 Go 中的基本 HTTP 身份验证

在尝试实现基本 HTTP 身份验证时,开发人员遇到了不受支持的协议方案错误。检查提供的代码片段,错误在于请求初始化。

req, err := http.NewRequest("GET", "mydomain.example", nil)

问题是由于使用空协议方案而引起的。要纠正此错误,请求必须明确指定协议方案。在基本 HTTP 身份验证的情况下,协议方案应为“http”或“https”。

通过正确指定协议方案,将使用适当的协议发送请求并绕过不支持的协议方案错误:

req, err := http.NewRequest("GET", "http://mydomain.example", nil)

通过此更正,基本 HTTP 身份验证应该按预期运行。但是,值得注意的是,如果正在访问的网站执行重定向,Go 可能会丢弃指定的标头。为了解决这个问题,可以实现自定义重定向功能,以在重定向后重新添加授权标头。

以上是为什么在 Go 中实现基本 HTTP 身份验证时出现'不支持的协议方案”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn