Go 中的HTTP 多部分請求
建立多部分請求,通常用於發送特定格式的數據,可以使用multipart 套件來實現去。讓我們探討如何解決這個問題。
考慮以下場景:傳送包含 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 請求設定正確的內容類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!