Permintaan Berbilang Bahagian dalam Go
Membuat permintaan berbilang bahagian dalam Go boleh menjadi mencabar, terutamanya apabila mematuhi format permintaan tertentu. Untuk memahami cara menggunakan permintaan berbilang bahagian dengan berkesan, mari pertimbangkan contoh permintaan sasaran dalam bentuk:
POST /blabla HTTP/1.1 Host: 2.2.2.2 Authorization: moreblabla Content-Type: multipart/mixed; boundary=--rs0q5Jq0M2Yt08jU534d1q Content-Length: 347 Node: 1.1.1.1.1 --rs0q5Jq0M2Yt08jU534d1q Content-Type: application/json {"hello" : "world"} --rs0q5Jq0M2Yt08jU534d1q
Sebelum ini, percubaan telah dibuat untuk menjana permintaan sedemikian menggunakan multipart.NewWriter dan penciptaan bahagian lalai , yang membawa kepada isu dengan pengecaman kandungan. Untuk menangani perkara ini, pendekatan berikut boleh digunakan:
body := &bytes.Buffer{} writer := multipart.NewWriter(body) // Create the part with the appropriate mime type part, _ := writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"application/json"}}) part.Write(jsonStr) writer.Close() req, _ := http.NewRequest("POST", "blabla", body) req.Header.Set("Content-Type", "multipart/mixed; boundary="+writer.Boundary())
Dengan menyatakan jenis kandungan semasa membuat bahagian, permintaan boleh mematuhi format yang diharapkan dan berjaya menghantar data yang diperlukan.
Atas ialah kandungan terperinci Cara Membina Permintaan Berbilang Bahagian dengan Jenis Mime dalam Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!