Maison > Article > développement back-end > Comment déterminer l’URL finale après les redirections dans Golang ?
Détermination de l'URL finale après les redirections dans Golang
Dans le package net/http de Golang, les requêtes HTTP GET peuvent rencontrer des redirections, ce qui peut conduire vers une URL de destination finale différente de la demande initiale. Cette situation difficile soulève la question : comment pouvons-nous déterminer l'URL finale atteinte après une série de redirections sans recourir à des solutions de contournement fastidieuses ?
La solution
Contrairement à l'hypothèse selon laquelle une approche hackish est nécessaire, une solution propre et simple existe dans l'objet Response renvoyé par l'opération HTTP GET. Cet objet contient l'objet Request qui a initié la requête, qui donne accès à l'URL finale visitée.
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) }
Sortie :
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
Cette méthode permet de récupérer sans effort l'URL finale. après un certain nombre de redirections. Aucune personnalisation supplémentaire ni manipulation de variables globales n'est nécessaire, garantissant une implémentation propre et efficace.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!