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

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

DDD
DDDOriginal
2024-11-11 16:59:03496Durchsuche

How to Determine the Final URL After Redirects in Golang?

Bestimmen der endgültigen URL nach Weiterleitungen in Golang

Im Net/HTTP-Paket von Golang können HTTP-GET-Anfragen auf Weiterleitungen stoßen, die dazu führen können an eine endgültige Ziel-URL, die sich von der ursprünglichen Anfrage unterscheidet. Dieses Dilemma wirft die Frage auf: Wie können wir die endgültige URL ermitteln, die nach einer Reihe von Weiterleitungen erreicht wird, ohne auf umständliche Problemumgehungen zurückzugreifen?

Die Lösung

Entgegen der Annahme, dass Ein hackiger Ansatz ist erforderlich. Eine saubere und unkomplizierte Lösung liegt im Antwortobjekt vor, das von der HTTP-GET-Operation zurückgegeben wird. Dieses Objekt enthält das Request-Objekt, das die Anfrage initiiert hat und Zugriff auf die besuchte endgültige URL bietet.

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

    // Function to retrieve the final URL
    finalURL := resp.Request.URL.String()

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

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

Diese Methode ermöglicht das mühelose Abrufen der endgültigen URL nach beliebig vielen Weiterleitungen. Es sind keine zusätzlichen Anpassungen oder globalen Variablenmanipulationen erforderlich, was eine saubere und effiziente Implementierung gewährleistet.

Das obige ist der detaillierte Inhalt vonWie ermittelt man die endgültige URL nach Weiterleitungen in Golang?. 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