我想在一个http请求中发送json请求和几个文件。我正在使用multipart/mixed
请求
curl -H "Content-Type: multipart/mixed" -F "request=@body.json; type=application/json" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName
request
字段具有application/json
内容类型,根据该指示,我定义此部分是json请求,其他部分是文件。
我的问题是如何在curl请求中内联请求正文。我尝试使用
curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"}" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName
但request
的内容类型为plain/text
答案 0 :(得分:10)
您可以在分号后添加内容类型信息:
curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"};type=application/json"
答案 1 :(得分:5)
要使用curl命令附加有效负载和文件,有些人会这样做。
curl -i -X POST -H "Content-Type: multipart/mixed" \
-F "somepayload={\"name\":\"mypayloadname\"};type=application/json" \
-F "uploadfile=@somevalid.xml" http://localhost:8080/path/topost
确保您转义有效内容,并且somevalid.xml应该存在于执行curl的同一目录中,或者将其替换为文件的有效路径。