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!