В golang, как определить окончательный URL после серии перенаправлений?
Так что я'используя пакет net / http. Я'm Получение URL-адреса, который я точно знаю, - это перенаправление. Он может даже перенаправить пару раз, прежде чем попасть на окончательный URL. Перенаправление выполняется автоматически за кулисами.
Есть ли простой способ выяснить, каким был окончательный URL-адрес без хакерского обходного пути, которое включает установку поля CheckRedirect для объекта http.Client?
Полагаю, я должен упомянуть, что, как мне кажется, я нашел обходной путь, но этоЭто своего рода хакерство, так как оно включает использование глобальной переменной и установку поля CheckRedirect в пользовательском http.Client.
Там'Должен быть более чистый способ сделать это. Я'Я надеюсь на что-то вроде этого: я
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
// Try to GET some URL that redirects. Could be 5 or 6 unseen redirections here.
resp, err := http.Get("http://some-server.com/a/url/that/redirects.html")
if err != nil {
log.Fatalf("http.Get => %v", err.Error())
}
// Find out what URL we ended up at
finalURL := magicFunctionThatTellsMeTheFinalURL(resp)
fmt.Printf("The URL you ended up at is: %v", finalURL)
}