重定向策略
可以使用 SetRedirectPolicy
为 Client
设置预定义的 RedirectPolicy
,或者自定义的实现:
client := req.C().DevMode()
client.SetRedirectPolicy(
// Only allow up to 5 redirects
req.MaxRedirectPolicy(5),
// Only allow redirect to same domain.
// e.g. redirect "www.imroc.cc" to "imroc.cc" is allowed, but "google.com" is not
req.SameDomainRedirectPolicy(),
)
client.SetRedirectPolicy(
// Only *.google.com/google.com and *.imroc.cc/imroc.cc is allowed to redirect
req.AllowedDomainRedirectPolicy("google.com", "imroc.cc"),
// Only allow redirect to same host.
// e.g. redirect "www.imroc.cc" to "imroc.cc" is not allowed, only "www.imroc.cc" is allowed
req.SameHostRedirectPolicy(),
)
// All redirect is not allowed
client.SetRedirectPolicy(req.NoRedirectPolicy())
// Use default redirect policy (only allow up to 10 redirects)
client.SetRedirectPolicy(req.DefaultRedirectPolicy())
// Or customize the redirect with your own implementation
client.SetRedirectPolicy(func(req *http.Request, via []*http.Request) error {
// ...
})