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