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

Wie extrahiere ich die endgültige URL nach Weiterleitungen in Go?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-12 12:57:02472Durchsuche

How Do I Extract the Final URL After Redirects in Go?

Extrahieren der endgültigen URL in Go nach Weiterleitungen

Im „net/http“-Paket von Go kann das Abrufen einer URL aufgerufen werden, die mehreren Weiterleitungen unterzogen wird automatische Umleitungsbehandlung. Die Bestimmung der endgültigen Ziel-URL kann sich jedoch als schwierig erweisen, ohne einen Hacker-Workaround zu implementieren.

Lösung: Nutzung des Antwortobjekts

Glücklicherweise gibt es eine elegantere Lösung. Das von „http.Get“ (oder anderen HTTP-Methodenfunktionen) zurückgegebene „Response“-Objekt enthält ein „Request“-Feld, das den letzten Zugriffsversuch darstellt. Dies kann verwendet werden, um die endgültige URL zu extrahieren.

package main

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

func main() {
    // Initiate a GET request for a URL subject to redirects
    resp, err := http.Get("https://google.com") // Replace with the target URL
    if err != nil {
        log.Fatalf("http.Get -> %v", err)
    }

    // Retrieve the final URL using the last attempted Request in the Response
    finalURL := resp.Request.URL.String()

    // Output the resolved final URL
    fmt.Printf("The URL you ended up at is: %s", finalURL)
}

Das obige ist der detaillierte Inhalt vonWie extrahiere ich 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