ホームページ > バックエンド開発 > Golang > 私の Go POST リクエスト コードはフォーム データを正しく送信していますか?

私の Go POST リクエスト コードはフォーム データを正しく送信していますか?

Mary-Kate Olsen
リリース: 2024-12-19 21:53:11
オリジナル
1008 人が閲覧しました

Is My Go POST Request Code Correctly Sending Form Data?

Go での POST リクエスト: 接続の問題のトラブルシューティング

Go で POST リクエストを行う場合は、接続の問題を回避するためにリクエストが正しく構成され、送信されていることを確認することが重要です。この分野で開発者が直面する一般的な課題に取り組んでみましょう。

質問:
POST リクエストを送信しようとすると、宛先で応答が受信されません。次のコード スニペットは、そのようなリクエストを行うための有効なアプローチですか?

hc := http.Client{}
req, err := http.NewRequest("POST", APIURL, nil)

form := url.Values{}
form.Add("ln", c.ln)
form.Add("ip", c.ip)
form.Add("ua", c.ua)
req.PostForm = form
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

glog.Info("form was %v", form)
resp, err := hc.Do(req)
ログイン後にコピー

回答:
提供されたコード スニペットには、フォーム データの追加方法に小さな問題があります。リクエストに。フォーム データは、URL パラメーターの一部としてではなく、リクエストの本文で送信する必要があります。修正されたコードは次のとおりです。

req, err := http.NewRequest("POST", url, strings.NewReader(form.Encode()))
ログイン後にコピー

この修正されたコードでは、strings.NewReader(form.Encode()) 呼び出しによってフォーム データが文字列にエンコードされ、それがリクエストの本文に割り当てられます。これにより、フォーム データが正しく送信され、サーバーで処理できることが保証されます。

以上が私の Go POST リクエスト コードはフォーム データを正しく送信していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート