在查看http的Go 文档Authorization时,当响应为307. 显然这对几乎所有情况都是有意义的,但有没有办法不删除Authorization标题?
1 回答
饮歌长啸
TA贡献1951条经验 获得超3个赞
您可以使用以下方法修改您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
},
}
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报
0/150
提交
取消