ホームページ  >  記事  >  バックエンド開発  >  Go でマルチパート POST リクエストに適切な Content-Type を設定するにはどうすればよいですか?

Go でマルチパート POST リクエストに適切な Content-Type を設定するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-24 03:30:31269ブラウズ

How to Set Proper Content-Type for Multipart POST Requests in Go?

Go での HTTP マルチパート リクエスト

特定の形式でデータを送信するために一般的に使用されるマルチパート リクエストの作成は、次のマルチパート パッケージを使用して実現できます。行く。これに対処する方法を見てみましょう。

次のシナリオを考えてみましょう: JSON データと境界の両方で構成されるマルチパート POST リクエストを送信します。この境界は、リクエストのさまざまな部分を分離します。

指定されたコード スニペットに示されているように、数多くの試行が行われました。ただし、サーバーは一貫して 200 HTTP エラーを返し、メッセージ タイプがサポートされていないことを示します。

これを解決するには、各部分の Content-Type を正しく設定する必要があります。変更されたコードは次のとおりです。

<code class="go">body := &bytes.Buffer{}
writer := multipart.NewWriter(body)

part, _ := writer.CreatePart(textproto.MIMEHeader{
    "Content-Type": {"application/json"},
})
part.Write(jsonStr)

writer.Close()

req, _ := http.NewRequest("POST", "http://1.1.1.1/blabla", body)
req.Header.Set(
    "Content-Type",
    "multipart/mixed; boundary="+writer.Boundary(),
)</code>

JSON データを含む部分に Content-Type: application/json を設定することで、サーバーがリクエストを正しく解釈できるようになります。境界パラメータも、期待される形式に一致するように適切に設定されます。

以上がGo でマルチパート POST リクエストに適切な Content-Type を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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