В 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)
}

Ответы на вопрос(1)

Ваш ответ на вопрос