首页 > 后端开发 > Golang > 正文

如何在 Go 中使用 Mime 类型构造多部分请求

Barbara Streisand
发布: 2024-10-24 03:21:02
原创
149 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!