Go で POST リクエストを送信する
Go で POST リクエストを作成するのは一般的なタスクです。この記事では、Go で POST リクエストを送信しようとするときに発生する一般的な問題の解決策を提供します。
問題:
「POST を作成しようとしています」リクエストを実行しましたが、受信側では何も受信されないようです。PostForm 関数は知っていますが、テストできないと思います。 httputil、正しいですか?"
解決策:
問題文に示されているコードは、ほとんど正しいです。不足しているコンポーネントは、リクエスト本文へのフォーム データの割り当てです。修正されたコードは次のとおりです。
req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))
元のコードでは、フォーム データは、ヘッダーの一部としてフォーム データを送信するために使用される req.PostForm に割り当てられていました。 POST リクエストの場合、フォーム データをリクエストの本文で送信する必要があります。 strings.NewReader(form.Encode()) を使用すると、URL エンコードされた文字列としてエンコードされたフォーム データを含む io.Reader が作成されます。これは、application/x-www-form-urlencoded コンテンツ タイプを使用する POST リクエストの予期される形式です。 .
以上がGo POST リクエストが受信側にデータを送信しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。