排查 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中文网其他相关文章!