http.NewRequest(...) による HTTP URL エンコードされた POST リクエスト
フォーム エンコードされたデータは、HTTP 経由でデータを送信するための基本的な手法です。このデータ エンコード形式は広くサポートされており、さまざまなシナリオで使用されています。リクエスト ヘッダーの制御を維持しながら、http.NewRequest(...) を使用して POST リクエストを作成するアプローチを検討してみましょう。
URL エンコードされたデータを送信するには、ペイロードを URL に追加するのではなく、URL 経由で渡す必要があります。リクエストの本文。これには、フォームエンコードされたデータを保持する bytes.Buffer の作成が含まれます:
data := url.Values{} data.Set("name", "foo") data.Set("surname", "bar") encoder := bytes.Buffer{} encoder.WriteString(data.Encode())
ここで、http.Request を作成し、バッファを本文に添付できます:
request, err := http.NewRequest(http.MethodPost, urlStr, &encoder)
フォームエンコードされたデータを扱っているため、適切なコンテンツタイプをheaders:
request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
最後に、リクエストを送信する準備が整いました:
resp, err := http.DefaultClient.Do(request)
これらの手順に従うことで、http.NewRequest を使用して URL エンコードされた POST リクエストを正常に作成できます。 (...) およびカスタム リクエスト ヘッダー。 URL エンコードされたデータはリクエスト本文で送信する必要があり、それに応じてコンテンツ タイプ ヘッダーを設定する必要があることに注意してください。
以上がGo の `http.NewRequest(...)` を使用して URL エンコードされた POST リクエストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。