recherche
Maisondéveloppement back-endGolangComment accéder aux chaînes de requête dans les requêtes HTTP POST de Go ?

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
  }    
}

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!

Déclaration
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
Comment utilisez-vous les & quot; Strings & quot; Emballage pour manipuler les cordes en Go?Comment utilisez-vous les & quot; Strings & quot; Emballage pour manipuler les cordes en Go?Apr 30, 2025 pm 02:34 PM

L'article discute de l'utilisation du package "Strings" de Go pour la manipulation des chaînes, détaillant les fonctions communes et les meilleures pratiques pour améliorer l'efficacité et gérer efficacement Unicode.

Comment utilisez-vous le & quot; crypto & quot; Package pour effectuer des opérations cryptographiques en Go?Comment utilisez-vous le & quot; crypto & quot; Package pour effectuer des opérations cryptographiques en Go?Apr 30, 2025 pm 02:33 PM

L'article détaille en utilisant le package "crypto" de Go pour les opérations cryptographiques, discutant de la génération de clés, de la gestion et des meilleures pratiques pour la mise en œuvre sécurisée. Counomage de Character: 159

Comment utilisez-vous le 'temps' Emballage pour gérer les dates et les temps en Go?Comment utilisez-vous le 'temps' Emballage pour gérer les dates et les temps en Go?Apr 30, 2025 pm 02:32 PM

L'article détaille l'utilisation du package "Time" de Go pour gérer les dates, les heures et les fuseaux horaires, y compris l'heure actuelle, la création de temps spécifiques, l'analyse des chaînes et la mesure du temps écoulé.

Comment utilisez-vous le & quot; réflexion & quot; Package pour inspecter le type et la valeur d'une variable en Go?Comment utilisez-vous le & quot; réflexion & quot; Package pour inspecter le type et la valeur d'une variable en Go?Apr 30, 2025 pm 02:29 PM

L'article discute de l'utilisation du package "Reflect" de Go pour l'inspection et la modification des variables, mettant en évidence les méthodes et les considérations de performances.

Comment utilisez-vous le & quot; sync / atomic & quot; Package pour effectuer des opérations atomiques en Go?Comment utilisez-vous le & quot; sync / atomic & quot; Package pour effectuer des opérations atomiques en Go?Apr 30, 2025 pm 02:26 PM

L'article discute de l'utilisation du package "Sync / Atomic" de Go pour les opérations atomiques en programmation simultanée, détaillant ses avantages comme la prévention des conditions de course et l'amélioration des performances.

Quelle est la syntaxe pour créer et utiliser une conversion de type dans GO?Quelle est la syntaxe pour créer et utiliser une conversion de type dans GO?Apr 30, 2025 pm 02:25 PM

L'article traite des conversions de type dans GO, notamment la syntaxe, les pratiques de conversion sûres, les pièges communs et les ressources d'apprentissage. Il met l'accent sur la conversion de type explicite et la gestion des erreurs. [159 caractères]

Quelle est la syntaxe pour créer et utiliser une assertion de type dans GO?Quelle est la syntaxe pour créer et utiliser une assertion de type dans GO?Apr 30, 2025 pm 02:24 PM

L'article traite des assertions de type dans GO, en se concentrant sur la syntaxe, des erreurs potentielles comme les paniques et les types incorrects, les méthodes de manipulation sûres et les implications de performance.

Comment utilisez-vous le & quot; select & quot; déclaration dans Go?Comment utilisez-vous le & quot; select & quot; déclaration dans Go?Apr 30, 2025 pm 02:23 PM

L'article explique l'utilisation de l'instruction "SELECT" dans GO pour gérer plusieurs opérations de canaux, ses différences par rapport à l'instruction "Switch" et des cas d'utilisation courants tels que la gestion de plusieurs canaux, la mise en œuvre des délais d'expiration,

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel