如何在我的工作目录的curl请求中包含文件?
下面我有一个POST请求,其中包含“first_name”和“last_name”的数据,但现在我需要在文件的输入中添加。那里的例子有人只是发送文件,但我正在尝试发送一个或多个文件,以及其他数据。
curl
-H "Content-Type: application/json"
-d '{ first_name: "Donny", last_name: "P", my_file: ???? }'
https://sender.blockspring.com/api/blocks/319bfef4aad7f3477745048a2da3ae6a?api_key=2e0ef0c216078d60630d1321e67b243a
答案 0 :(得分:1)
这只能通过多部分完成。
手动构建multipart可能很复杂,因此curl有一个内置的-F选项。
curl localhost:8000 -F "my_file=@file.ext" -F "name=daniel;last=P" -v
来自男人卷曲
-F, - 表格 (HTTP)这使curl模拟用户按下提交按钮的填写表单。这导致curl POST 根据RFC 2388使用Content-Type multipart / form-data的数据。这样可以上传二进制文件等。 至 迫使内容' part为文件,文件名前缀为@符号。要从文件中获取内容部分, 使用符号<前缀文件名。 @和<之间的区别然后是@使文件附加在 作为文件上传发布,而<创建一个文本字段,然后从文件中获取该文本字段的内容。