Maison > développement back-end > Golang > Comment créer dynamiquement des requêtes GET avec des chaînes de requête dans Go ?

Comment créer dynamiquement des requêtes GET avec des chaînes de requête dans Go ?

DDD
Libérer: 2024-12-20 05:25:08
original
255 Les gens l'ont consulté

How to Dynamically Build GET Requests with Query Strings in Go?

Comment effectuer des requêtes GET avec des chaînes de requête dans Go

Créer des requêtes GET avec des chaînes de requête dynamiques dans Go peut être délicat pour les débutants. Dans cet article, nous explorerons une approche simple mais efficace pour réaliser cette tâche.

Considérez le scénario suivant : vous devez envoyer une requête GET à un point de terminaison d'API qui nécessite un paramètre de requête "api_key". Le codage en dur de la clé API dans l'URL de la requête n'est pas idéal, car cela limite la flexibilité et la sécurité.

Pour surmonter ce défi, nous pouvons tirer parti du package net/url de Go. Ce package fournit le type url.Values, qui nous permet de manipuler les paramètres de requête de manière dynamique.

Voici comment nous pouvons modifier notre exemple de script pour créer et encoder une chaîne de requête :

package main

import (
    "fmt"
    "log"
    "net/http"
    "os"
    "url"
)

func main() {
    req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)
    if err != nil {
        log.Print(err)
        os.Exit(1)
    }

    q := req.URL.Query()
    q.Add("api_key", "KEY_FROM_ENV_OR_FLAG")
    q.Add("another_thing", "foo & bar")
    req.URL.RawQuery = q.Encode()

    fmt.Println(req.URL.String())
}
Copier après la connexion

Dans cet exemple :

  • Nous initialisons une instance url.Values ​​(q) à partir de la requête d'origine URL.
  • Nous ajoutons les paramètres de requête nécessaires (api_key et another_thing) à q.
  • Nous encodons q et le remettons à l'URL de la requête.

Ceci Cette approche nous permet de créer et d'encoder dynamiquement des chaînes de requête, en maintenant la flexibilité et la sécurité en séparant la clé API de l'URL de la requête.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal