登录
首页 >  Golang >  Go问答

307 重定向带有授权标头

来源:stackoverflow

时间:2024-03-12 23:18:22 300浏览 收藏

你在学习Golang相关的知识吗?本文《307 重定向带有授权标头》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

在查看 http 的 Go 文档时,当响应是 307 时,看起来 Authorization 标头被删除。显然,这对几乎所有情况都有意义,但是有没有办法不删除 Authorization 标头?


解决方案


您可以修改 http.client 以在使用 CheckRedirect 删除标头后再次添加标头:

checkredirect func(req *request, via []*request) error

由于 req 是即将到来的请求,因此可以在发送之前对其进行修改。进行更改后,返回 nil 以指示仍应发送请求。

由于这是对 http 客户端而不是请求的更改,因此您应该检查此重定向是否仅用于您需要的一个 url(以防您使用该客户端执行其他请求)。

您的客户端定义可能如下所示:

http.Client{
    CheckRedirect: func(req *http.Request, via []*http.Request) error {
        // you can check old responses for a status code
        if len(via) != 0 && via[0].Response.StatusCode == http.StatusTemporaryRedirect {
            req.Header.Add("Authorization", "some-value")
        }
        return nil
    },
}

今天关于《307 重定向带有授权标头》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>