Heim >Backend-Entwicklung >Golang >Wie ermittelt man die endgültige URL nach Weiterleitungen in Go?

Wie ermittelt man die endgültige URL nach Weiterleitungen in Go?

Susan Sarandon
Susan SarandonOriginal
2024-11-15 05:02:02256Durchsuche

How to Determine the Final URL After Redirections in Go?

Abrufen der endgültigen URL nach Umleitungen in Go

Im Net/http-Paket von Go mit automatischer Umleitungsbehandlung führen zahlreiche URLs häufig zu einer bestimmten Terminal-URL. Das Ermitteln der endgültigen URL nach einer Folge von Weiterleitungen kann eine Herausforderung sein.

Eine mögliche Lösung ohne Hacker-Workaround besteht in der Untersuchung der Request-Komponente des Response-Objekts. Das Request-Objekt entspricht der endgültigen URL, auf die der Client zugreift.

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    resp, err := http.Get("http://stackoverflow.com/q/16784419/727643")
    if err != nil {
        log.Fatalf("http.Get => %v", err.Error())
    }

    finalURL := resp.Request.URL.String()

    fmt.Printf("The URL you ended up at is: %v\n", finalURL)
}

Dieser Code ruft die endgültige URL nach möglichen Umleitungen ab und druckt sie mit der Methode Request.URL.String() aus.

Ausgabe:

The URL you ended up at is: http://stackoverflow.com/questions/16784419/in-golang-how-to-determine-the-final-url-after-a-series-of-redirects

Dieser Ansatz macht komplizierte Berechnungen überflüssig und bietet eine einfache Möglichkeit, das endgültige Ziel von Weiterleitungs-URLs in Go zu bestimmen.

Das obige ist der detaillierte Inhalt vonWie ermittelt man die endgültige URL nach Weiterleitungen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn