1 回答
TA贡献1887条经验 获得超5个赞
构造一个 multipart 请求比构造简单的 urlencoded 表单更冗长,所以如果您需要在很多地方使用 multipart,您可能希望将其抽象为一个可以让您的生活更轻松的函数。
这是一个例子:
params := url.Values{"houses": {"street123"}}
buf := bytes.Buffer{}
w := multipart.NewWriter(&buf)
ct := w.FormDataContentType()
h := make(textproto.MIMEHeader)
h.Set("Content-Type", "application/x-www-form-urlencoded")
if pw, err := w.CreatePart(h); err != nil {
panic(err)
} else if _, err := pw.Write([]byte(params.Encode())); err != nil {
panic(err)
} else if err := w.Close(); err != nil {
panic(err)
}
r, err := http.NewRequest("POST", "https://example.com", &buf)
if err != nil {
panic(err)
}
r.Header.Set("Content-Type", ct)
re, err := client.Do(r)
// ...
https://play.golang.org/p/nzfUjBBh7_w
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报