我需要生成一个这样的多部分POST请求:
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
如果您知道如何使用Curl生成上述内容,请也给我一些提示;)
我尝试了以下方法:
var jsonStr = []byte(`{"hello" : "world"}`)
func main() {
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _:= writer.CreateFormField("")
part.Write(jsonStr)
writer.Close()
req, _ := http.NewRequest("POST", "blabla", body)
req.Header.Set("Content-Type", writer.FormDataContentType())
...
}
但是服务器无法读取请求体内容。它会响应一个200 HTTP请求,但表示消息类型不受支持。
那么我该如何生成一个类似上述形式的multipart/mixed请求呢?
非常感谢您的帮助。