Go でクエリ文字列を使用して GET リクエストを実行する方法
Go で動的クエリ文字列を使用して GET リクエストを構築するのは、初心者にとっては難しい場合があります。この記事では、このタスクを達成するためのシンプルかつ効果的なアプローチを検討します。
次のシナリオを考えてみましょう。「api_key」クエリ パラメータを必要とする API エンドポイントに対して GET リクエストを行う必要があります。 API キーをリクエスト URL にハードコーディングすることは、柔軟性とセキュリティを制限するため理想的ではありません。
この課題を克服するには、Go の net/url パッケージを活用できます。このパッケージは、クエリ パラメータを動的に操作できる url.Values タイプを提供します。
サンプル スクリプトを変更してクエリ文字列を構築およびエンコードする方法は次のとおりです。
package main import ( "fmt" "log" "net/http" "os" "url" ) func main() { req, err := http.NewRequest("GET", "http://api.themoviedb.org/3/tv/popular", nil) if err != nil { log.Print(err) os.Exit(1) } q := req.URL.Query() q.Add("api_key", "KEY_FROM_ENV_OR_FLAG") q.Add("another_thing", "foo & bar") req.URL.RawQuery = q.Encode() fmt.Println(req.URL.String()) }
この例:
これこのアプローチにより、リクエスト URL から API キーを分離することで柔軟性とセキュリティを維持しながら、クエリ文字列を動的に構築してエンコードすることができます。
以上がGo でクエリ文字列を使用して GET リクエストを動的に構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。