Fermer

juillet 11, 2023

Comment obtenir des paramètres d’URL avec Golang —

Comment obtenir des paramètres d’URL avec Golang —


Les paramètres d’URL (alias paramètres de chaîne de requête ou variables d’URL) sont utilisés pour envoyer des données entre des pages Web ou entre un client et un serveur via une URL. Ils sont composés d’une paire clé-valeur séparée par un signe égal.

Par exemple dans l’URL www.example.com?car=sedan&color=blue, car et sedan sont les deux paramètres avec des valeurs de sedan et blue, respectivement. Notez que la chaîne de requête précédée d’un point d’interrogation (?) et chaque paramètre supplémentaire est relié à une esperluette (&).

Les paramètres sont utilisés pour envoyer des requêtes de recherche, des renvois de liens, des préférences d’utilisateur et d’autres données entre les pages ou à un serveur.

Dans cet article, nous allons vous montrer comment analyser et manipuler les paramètres d’URL à l’aide de Golang.

Tout le code de cet article est disponible ici dans un Go Playground.

Obtenir un paramètre d’URL

Dans Golang, comprendre comment utiliser les paramètres d’URL est essentiel pour créer des applications Web backend. En utilisant le réseau/http package dans Golang, les développeurs peuvent analyser les URL et leurs paramètres afin d’utiliser les informations pour traiter les demandes et générer des réponses.

En supposant que notre URL est une chaîne avec des paramètres comme https://example.com/?product=shirt&color=blue&newuser&size=mnous pouvons extraire la chaîne de requête avec url.ParseQuery:

urlStr := "https://example.com/?product=shirt&color=blue&newuser&size=m"
myUrl, _ := url.Parse(urlStr)
params, _ := url.ParseQuery(myUrl.RawQuery)
fmt.Println(params)

Nous pouvons ensuite accéder aux paramètres de requête individuels à l’aide de la clé :

product := params.Get("product") fmt.Println(product) 

color := params.Get("color") fmt.Println(color) 

newUser := params.Get("newuser") fmt.Println(newUser) 

Autres méthodes utiles

Vérification de la présence d’un paramètre

On peut utiliser Get() méthode pour vérifier si un certain paramètre existe :

if _, ok := params["product"]; ok { 
    fmt.Println("Product parameter exists")
}

if _, ok := params["paymentmethod"]; !ok {
    fmt.Println("Paymentmethod parameter does not exist")
}

Obtenir toutes les valeurs d’un paramètre

On peut utiliser params[key] pour renvoyer toutes les valeurs associées à un paramètre particulier :

sizes := params["size"] fmt.Println(sizes) 



fmt.Println(params["size"]) 

Itérer sur les paramètres

Nous pouvons utiliser un range boucle pour itérer sur les paramètres :

for key, value := range params {
    fmt.Printf("%s: %s\n", key, value)
}

Le réseau/url Le package fait partie de la bibliothèque standard et est disponible dans toutes les versions de Golang, ce qui le rend largement pris en charge.

Conclusion

Dans cet article, nous vous avons montré comment extraire et manipuler les paramètres d’URL dans Golang à l’aide du package « net/url » intégré.






Source link