Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Permintaan HTTP Berbilang Bahagian dengan Gomultipart di Golang?

Bagaimana untuk Membuat Permintaan HTTP Berbilang Bahagian dengan Gomultipart di Golang?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-24 00:28:30192semak imbas

How to Create Multipart HTTP Requests with Gomultipart in Golang?

Cara Menggunakan berbilang bahagian dalam Go

berbilang bahagian di Golang ialah alat yang berkuasa untuk mencipta permintaan HTTP berbilang bahagian. Ini amat berguna apabila menghantar data yang mengandungi teks dan kandungan fail.

Penyelesaian

Untuk membuat permintaan borang berbilang bahagian, ikut langkah berikut:

  1. Segera bait.Buffer dan multipart.Writer object.
  2. Gunakan multipart.Writer untuk mencipta objek berbilang bahagian.Bahagian, satu untuk setiap bahagian permintaan.
  3. Tetapkan pengepala Jenis Kandungan bagi permintaan kepada nilai yang dikembalikan oleh penulis.FormDataContentType().
  4. Tulis kandungan bahagian permintaan ke multipart.Writer.
  5. Panggil penulis.Close() untuk melengkapkan permintaan.

Contoh

Dalam contoh anda, anda akan membuat permintaan bercampur berbilang seperti berikut:

<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>

Petua Bonus: Menggunakan cURL

Anda juga boleh menjana permintaan berbilang bahagian menggunakan cURL dengan arahan berikut:

curl -F "field=value" -H "Content-Type: multipart/mixed; boundary=boundary" http://1.1.1.1/blabla

Atas ialah kandungan terperinci Bagaimana untuk Membuat Permintaan HTTP Berbilang Bahagian dengan Gomultipart di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn