Heim > Artikel > Backend-Entwicklung > Wie ermittelt man die endgültige URL nach Weiterleitungen 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!