【Go获取Location重定向url】go本身不提供重定向的url,如果想要获取,只能从源码下手。
http.Get()接收到一个url后,会进一步确认,是否包含重定向url,如果包含,自动转到新的url,我们需要做的就是在这之前截取重定向url。
进入到http包中找到函数:
//自用,保留url地址信息,头部大写进行暴露
var RedirectMy string //此行源码中没有,为自己添加func defaultCheckRedirect(req *Request, via []*Request) error {
//自用,将url根据需求进行组合
RedirectMy = "//"+req.URL.Host+req.URL.Path//此行源码中没有,为自己添加
if len(via) >= 10 {
return errors.New("stopped after 10 redirects")
}
return nil
}
从源码中可以看出,go本身支持10次重定向,超过10次便会报错。
推荐阅读
- 【golang】leetcode中级-字母异位词分组&无重复字符的最长子串
- 彻底理解Golang Map
- kratos线上开源年会它来啦~
- 深入浅出 Golang 资源嵌入方案(go-bindata篇)
- 深入浅出 Golang 资源嵌入方案(前篇)
- golang 经典案例总结
- Go实战 | 基于有向无环图的并发执行流的实现
- Golang 数组和切片
- Go JSON编码与解码()
- golang map基础知识