登录
首页 >  Golang >  Go问答

如何在 http.go 中获取当前 URL?

来源:Golang技术栈

时间:2023-04-16 08:52:07 301浏览 收藏

golang学习网今天将给大家带来《如何在 http.go 中获取当前 URL?》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到golang等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

http.NewRequest用来发出几个http请求(显然)。现在我需要发出请求并从最终 URL 中提取一些查询字符串(有重定向)。

所以问题是我如何找到 URL(如果客户端被重定向,则最终 URL)?Response中没有这样的字段。

请注意,我不需要停止重定向...只是在请求后查找 URL 是什么

正确答案

你添加一个回调到http.Client.CheckRedirect

    // CheckRedirect specifies the policy for handling redirects.
    // If CheckRedirect is not nil, the client calls it before
    // following an HTTP redirect. The arguments req and via are
    // the upcoming request and the requests made already, oldest
    // first. If CheckRedirect returns an error, the Client's Get
    // method returns both the previous Response and
    // CheckRedirect's error (wrapped in a url.Error) instead of
    // issuing the Request req.
    //
    // If CheckRedirect is nil, the Client uses its default policy,
    // which is to stop after 10 consecutive requests.
    CheckRedirect func(req *Request, via []*Request) error

然后,您可以在新请求发生时检查它们。只要确保制定某种限制以防止重定向循环(如文档中所述,默认在 10 之后中止)。

理论要掌握,实操不能落!以上关于《如何在 http.go 中获取当前 URL?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>