"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > QueryString 매개 변수를 효율적으로 추가하여 GO의 GET 요청을 효율적으로 추가하는 방법은 무엇입니까?

QueryString 매개 변수를 효율적으로 추가하여 GO의 GET 요청을 효율적으로 추가하는 방법은 무엇입니까?

2025-02-26에 게시되었습니다
검색:329

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

이 도전을 극복하려면 Net/URL 패키지를 활용할 수 있습니다. 값 유형은 쿼리 스트링을 구축하기위한 편리한 메커니즘을 제공합니다. 다음 예를 고려하십시오 :

import ( "FMT" "통나무" "net/http" "OS" "net/url" )) func main () { // 초기 URL로 새 요청 객체를 만듭니다. req, err : = http.newrequest ( "get", "http://api.themoviedb.org/3/tv/popular", nil) err! = nil {인 경우 log.print (err) os.exit (1) } // 요청 URL에서 기존 쿼리 매개 변수를 가져옵니다. Q : = req.url.query () // QueryString 매개 변수를`Q` 맵에 추가하십시오. q.add ( "API_KEY", "key_from_environment_or_flag") Q.add ( "Other_thing", "Foo & Bar") // 업데이트 된`Q` 맵을 원시 쿼리 스트링으로 인코딩하고 요청에 설정하십시오. req.url.rawquery = q.encode () // 디버깅 목적으로 QueryString으로 최종 URL을 검색합니다. fmt.println (req.url.string ()) // 출력 : // http://api.themoviedb.org/3/tv/popular?another_thing=foo & bar & api_key = key_from_environment_or_flag }

이 코드는 문자열 연결에 의존하지 않고 쿼리 스트링 매개 변수를 동적으로 빌드하는 방법을 보여줍니다. URL.Values의 Encode 메소드는 특수 문자가 전송을 위해 올바르게 인코딩되도록합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3