带有授权标头的 307 重定向

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



芜湖不芜
浏览 121回答 1
1回答

饮歌长啸

您可以使用以下方法修改您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    },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go