Go에서는 http.Client를 사용하여 쿼리 문자열 매개 변수가 포함된 GET 요청을 보낼 수 있습니다. 그러나 이 작업은 보이는 것만큼 간단하지 않을 수 있습니다.
이 문제를 극복하기 위해 net/url 패키지를 활용할 수 있습니다. 해당 값 유형은 쿼리 문자열을 작성하기 위한 편리한 메커니즘을 제공합니다. 다음 예를 고려하십시오.
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+%26+bar&api_key=key_from_environment_or_flag }
이 코드는 문자열 연결을 사용하지 않고 쿼리 문자열 매개 변수를 동적으로 작성하는 방법을 보여줍니다. url.Values의 Encode 메소드는 특수 문자가 전송을 위해 올바르게 인코딩되도록 보장합니다.
위 내용은 Go의 GET 요청에 쿼리문자열 매개변수를 효율적으로 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!