ホームページ > バックエンド開発 > Golang > Golang で Gomultipart を使用してマルチパート HTTP リクエストを作成する方法?

Golang で Gomultipart を使用してマルチパート HTTP リクエストを作成する方法?

Mary-Kate Olsen
リリース: 2024-10-24 00:28:30
オリジナル
274 人が閲覧しました

How to Create Multipart HTTP Requests with Gomultipart in Golang?

Go でマルチパートを使用する方法

Golang のマルチパートは、マルチパート HTTP リクエストを作成するための強力なツールです。これは、テキストとファイルのコンテンツの両方を含むデータを送信する場合に特に便利です。

解決策

マルチパート フォーム リクエストを作成するには、次の手順に従います。

  1. インスタンス化bytes.Buffer オブジェクトと multipart.Writer オブジェクト。
  2. multipart.Writer を使用して、リクエストの各部分に 1 つずつ multipart.Part オブジェクトを作成します。
  3. 次の Content-Type ヘッダーを設定します。 Writer.FormDataContentType() によって返された値に対するリクエスト。
  4. リクエスト パーツのコンテンツを multipart.Writer に書き込みます。
  5. writer.Close() を呼び出してリクエストを完了します。

この例では、次のようにマルチパート混合リクエストを作成します。

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

part, err := writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"application/json"}})
if err != nil {
    // handle error
}

part.Write(jsonStr)

writer.Close()

req, err := http.NewRequest("POST", "blabla", body)
if err != nil {
    // handle error
}

req.Header.Set("Content-Type", "multipart/mixed; boundary="+writer.Boundary())</code>
ログイン後にコピー

ボーナスヒント: cURL の使用

次のコマンドで cURL を使用してマルチパート リクエストを生成することもできます:

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla
ログイン後にコピー

以上がGolang で Gomultipart を使用してマルチパート HTTP リクエストを作成する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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