登录
首页 >  Golang >  Go问答

在重定向错误消息中保留原始 URL

来源:stackoverflow

时间:2024-02-20 08:39:53 478浏览 收藏

哈喽!今天心血来潮给大家带来了《在重定向错误消息中保留原始 URL》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我试图通过向特定页面发送 get 请求来确定特定网站上是否存在网页。但是,如果该网页不存在,网站会将请求重定向到主页。

为了克服这个问题,我实现了重定向预防,如此处所述,看起来类似于

func redirectcheck(req *http.request, via []*http.request) error {
    if req.response.statuscode == 200 {
        // no redirection occured
        return nil
    }
    // return error code
    return errors.new("webpage doesn't exist")
}

重定向预防工作正常,但是,如果我向 https://someurl.com/page1 发出 get 请求,我收到的错误消息是

get "https://someurl.com": webpage doesn't exist

如何配置错误消息以便在错误消息中保留原始 url?

错误消息应该是

Get "https://someurl.com/page1": webpage doesn't exist

解决方案


Client.CheckRedirect 文档说:

作为一种特殊情况,如果 checkredirect 返回 erruselastresponse,则返回最近的响应,其正文未关闭,并带有 nil 错误。

通过从函数返回 ErrUseLastResponse 进行修复:

func RedirectCheck(req *http.Request, via []*http.Request) error {
    return http.ErroUseLastResponse
}

理论要掌握,实操不能落!以上关于《在重定向错误消息中保留原始 URL》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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