"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment ajouter efficacement les paramètres de requête pour aller demandes de go?

Comment ajouter efficacement les paramètres de requête pour aller demandes de go?

Publié le 2025-02-26
Parcourir:189

How to Efficiently Add Querystring Parameters to Go's GET Requests?

Les paramètres de quereyString dans go's get requêtes

dans go, envoyant des demandes de get avec les paramètres de quereystring peuvent être réalisés à l'aide de http.client. Cependant, cette tâche peut ne pas être aussi simple que possible.

Pour surmonter ce défi, vous pouvez tirer parti du package net / url. Son type de valeurs fournit un mécanisme pratique pour la construction de requêtes. Considérez l'exemple suivant:

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

func main() {
    // Create a new request object with an initial URL.
    req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil)
    if err != nil {
        log.Print(err)
        os.Exit(1)
    }

    // Get the existing query parameters from the request URL.
    q := req.URL.Query()

    // Add your querystring parameters to the `q` map.
    q.Add("api_key", "key_from_environment_or_flag")
    q.Add("another_thing", "foo & bar")

    // Encode the updated `q` map into a raw querystring and set it in the request.
    req.URL.RawQuery = q.Encode()

    // Retrieve the final URL with the querystring for debugging purposes.
    fmt.Println(req.URL.String())
    // Output:
    // http://api.themoviedb.org/3/tv/popular?another_thing=foo & bar&api_key=key_from_environment_or_flag
}

Ce code montre comment construire dynamiquement les paramètres de redesString sans recourir à la concaténation des chaînes. La méthode d'encodage de l'URL.Values ​​garantit que les caractères spéciaux sont correctement codés pour la transmission.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3