一尘不染

在Go中使用http包时如何检索最终的URL目标?

go

在请求期间,大多数站点都重定向到另一个URL。例如:http://example.com might可能重定向到http://mobile.example.com

有没有办法找回最终目的地?如果发生cURL这种情况,他们称之为effective URL


阅读 221

收藏
2020-07-02

共1个答案

一尘不染

例如,

package main

import (
    "fmt"
    "net/http"
)

func main() {
    getURL := "http://pkgdoc.org/"
    fmt.Println("getURL:", getURL)
    resp, err := http.Get(getURL)
    if err != nil {
        fmt.Println(err)
        return
    }
    finalURL := resp.Request.URL.String()
    fmt.Println("finalURL:", finalURL)
}

输出:

getURL: http://pkgdoc.org/
finalURL: http://godoc.org/
2020-07-02