«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно добавить параметры запросов QueryString для получения запросов?

Как эффективно добавить параметры запросов QueryString для получения запросов?

Опубликовано в 2025-02-26
Просматривать:173

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

параметры QueryString в go get -запросах

в go, отправка запросов GET с параметрами QueryString может быть достигнуто с помощью http.client. Однако эта задача может быть не такой простой, как она кажется. Его тип значений обеспечивает удобный механизм для строительства запросов. Рассмотрим следующий пример:

import ( "FMT" "бревно" "net/http" "ОС" "net/url" ) func main () { // Создать новый объект запроса с начальным URL. req, err: = http.newrequest ("get", "http://api.themoviedb.org/3/tv/popular", ноль) Если ошибка! = nil { log.print (err) OS.Exit (1) } // Получить существующие параметры запроса из URL -адреса запроса. Q: = req.url.query () // Добавить свои параметры запроса на карту `Q. Q.Add ("api_key", "key_from_environment_or_flag") Q.Add ("nother_thing", "foo & bar") // кодировать обновленную карту `Q` в необработанную QueryString и установите ее в запросе. req.url.rawquery = q.encode () // Извлеките окончательный URL с помощью запросов на отладку. fmt.println (req.url.string ()) // Выход: // http://api.themoviedb.org/3/tv/popular?another_thing=foo & bar & api_key = key_from_environment_or_flag }

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
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3