„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie füge ich die Parameter von Abfragen effizient hinzu, um Anfragen zu erhalten?

Wie füge ich die Parameter von Abfragen effizient hinzu, um Anfragen zu erhalten?

Gepostet am 2025-02-26
Durchsuche:213

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

queryString -Parameter in Go's Get -Anfragen

In Go können Sie Get -Anfragen mit Abfrageberechnungsparametern senden, die mit http.client erreicht werden können. Diese Aufgabe ist jedoch möglicherweise nicht so einfach, wie sie erscheint.

Um diese Herausforderung zu überwinden, können Sie das Netz-/URL -Paket nutzen. Sein Werteart bietet einen bequemen Mechanismus für den Bau von QueryStrings. Betrachten Sie das folgende Beispiel:

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
}

Dieser Code zeigt, wie die Parameter von Abfragen dynamisch erstellt werden, ohne auf String -Verkettung zurückzugreifen. Die Encode -Methode von url.values ​​stellt sicher, dass Sonderzeichen für die Übertragung ordnungsgemäß codiert werden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3