Maison > développement back-end > Golang > Comment accéder aux chaînes de requête dans les requêtes HTTP POST de Go ?

Comment accéder aux chaînes de requête dans les requêtes HTTP POST de Go ?

Mary-Kate Olsen
Libérer: 2024-12-10 17:22:10
original
740 Les gens l'ont consulté

How to Access Query Strings in Go's HTTP POST Requests?

Accès aux chaînes de requête dans les requêtes POST avec le package HTTP de Go

Lors du traitement des requêtes POST avec le package HTTP de Go, l'accès et l'analyse des chaînes de requête peuvent être crucial. Le package HTTP fournit une méthode pratique pour extraire les chaînes de requête : Query().

Dans une requête POST, la chaîne de requête est généralement attachée à l'URL, contenant des paires d'informations clé-valeur. . La méthode Query() récupère ces paires clé-valeur et les analyse dans une carte de valeurs.

Pour accéder à la chaîne de requête dans une requête POST, suivez ces étapes :

  • Extraire l'URL : Depuis l'objet *http.Request, obtenez l'URL en utilisant r.URL.
  • Analysez le Chaîne de requête : Utilisez la méthode Query() sur l'URL pour analyser la chaîne de requête. Cela renvoie une carte de valeurs, où les clés représentent les noms de paramètres et les valeurs correspondantes sont des tableaux de valeurs pour ce paramètre.
  • Accès aux valeurs des paramètres : Pour récupérer les valeurs des paramètres de la carte de valeurs, utilisez soit la notation d'index Get() ou []string.
  • REMARQUE : La sensibilité à la casse est importante lors de l'accès aux clés de paramètre dans les valeurs carte.

Par exemple :

func newHandler(w http.ResponseWriter, r *http.Request) {
  fmt.Println("GET params were:", r.URL.Query())

  // if only one expected
  param1 := r.URL.Query().Get("param1")
  if param1 != "" {
    // ... process it, will be the first (only) if multiple were given
    // note: if they pass in like ?param1=&param2= param1 will also be "" :|
  }

  // if multiples possible, or to process empty values like param1 in
  // ?param1=&param2=something
  param1s := r.URL.Query()["param1"]
  if len(param1s) > 0 {
    // ... process them ... or you could just iterate over them without a check
    // this way you can also tell if they passed in the parameter as the empty string
    // it will be an element of the array that is the empty string
  }    
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal