Go 307使用授权标头重定向
在查看http的时,当响应是Go 307使用授权标头重定向,go,redirect,Go,Redirect,在查看http的时,当响应是307时,Authorization头似乎被删除。显然,这对几乎所有情况都有意义,但有没有办法不删除授权标题?您可以修改http.Client以在删除标题后使用以下方法再次添加标题: 由于req是即将发出的请求,因此可以在发送前对其进行修改。进行更改后,返回nil,指示仍应发送请求 由于这是对http客户机而不是请求的更改,因此您应该检查此重定向是否仅用于您需要它的一个URL(以防您使用该客户机执行其他请求) 您的客户端定义可以如下所示: http.Client{
307
时,Authorization
头似乎被删除。显然,这对几乎所有情况都有意义,但有没有办法不删除授权
标题?您可以修改http.Client
以在删除标题后使用以下方法再次添加标题:
由于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
},
}
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
},
}