в 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