ホームページ >バックエンド開発 >Golang >Go POST リクエストが受信側にデータを送信しないのはなぜですか?

Go POST リクエストが受信側にデータを送信しないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-22 16:38:11752ブラウズ

Why Doesn't My Go POST Request Send Data to the Receiving End?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。