如何用curl发送一个由两部分组成的POST请求?

时间:2015-11-18 15:09:32

标签: bash http post curl

我想使用curl发送带有 multipart 正文的HTTP POST请求,该正文包含两部分part1part2,如下所示:

Content-Type: multipart/form-data; 
boundary=v6jSBESHUN0nHdfaw-GnE4zGVcg0OLfL1

--v6jSBESHUN0nHdfaw-GnE4zGVcg0OLfL1
Content-Disposition: form-data; name="part1"
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 8bit

abc
--v6jSBESHUN0nHdfaw-GnE4zGVcg0OLfL1
Content-Disposition: form-data; name="part2"
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

xyz
--v6jSBESHUN0nHdfaw-GnE4zGVcg0OLfL1--

请注意,part1的内容为abcpart2的内容为xyzpart1的字符集为asciipart2的字符集为utf-8

我想按照以下方式进行:

curl -X POST -F "part1=abc" -F "part2=xyx" http://myhost/mypost

不幸的是,它没有做到这一点。此外,我没有找到如何指定part2的字符集。您如何建议使用curl发送此请求?

1 个答案:

答案 0 :(得分:2)

您可以使用;type=

设置类型
curl -X POST -F "part1=abc" -F "part2=xyx;type=text/plain; charset=utf-8" http://myhost/mypost