栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 面试经验 > 面试问答

如何在Golang中获取http重定向状态代码

面试问答 更新时间:发布时间: 百科书网 趣学号

http.Client
类型允许您指定自定义传输方式,这应允许您执行后续操作。应该执行以下操作:

type LogRedirects struct {    Transport http.RoundTripper}func (l LogRedirects) RoundTrip(req *http.Request) (resp *http.Response, err error) {    t := l.Transport    if t == nil {        t = http.DefaultTransport    }    resp, err = t.RoundTrip(req)    if err != nil {        return    }    switch resp.StatusCode {    case http.StatusMovedPermanently, http.StatusFound, http.StatusSeeOther, http.StatusTemporaryRedirect:        log.Println("Request for", req.URL, "redirected with status", resp.StatusCode)    }    return}

(如果仅支持链接到默认传输,则可以稍微简化一下)。

然后,您可以使用此传输方式创建客户端,并记录所有重定向:

client := &http.Client{Transport: LogRedirects{}}

这是您可以尝试的完整示例:http :
//play.golang.org/p/8uf8Cn31HC



转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/417801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号