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中文网其他相关文章!