首頁 > 後端開發 > Golang > 如何在 Go 中使用 Mime 類型建構多部分請求

如何在 Go 中使用 Mime 類型建構多部分請求

Barbara Streisand
發布: 2024-10-24 03:21:02
原創
215 人瀏覽過

How to Construct Multipart Requests with Mime Types in Go

Go 中的多部分請求

在Go 中建立多部分請求可能具有挑戰性,尤其是在遵循特定請求格式時。為了了解如何有效地使用多部分請求,讓我們考慮一個目標請求採用以下形式的範例:

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
登入後複製

之前,曾嘗試使用multipart.NewWriter 和預設部分建立來產生此類請求,這導致了內容識別的問題。為了解決這個問題,可以使用以下方法:

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())
登入後複製

透過在建立零件時指定內容類型,請求可以遵循預期的格式並成功傳輸所需的資料。

以上是如何在 Go 中使用 Mime 類型建構多部分請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板