首页/系统/Linux 运维命令速查/curl 发送 POST 与上传
网络命令82 条

curl 发送 POST 与上传

提交表单(-d,默认 application/x-www-form-urlencoded)、JSON(-H 指定类型)、上传文件(-F)、URL 编码(--data-urlencode)。

Linux 运维命令速查系统更新于 2026-10-12
用途POST 请求 / 表单 / JSON / 文件上传
语法curl [-d|-F|--data-urlencode] ...
要点-d 三次可传多段;@file 读内容;@- 读 stdin

常用示例

常用示例
curl -sS -d 'name=ops&level=1' https://api.example.com/items
curl -sS --data-urlencode 'q=hello world & more' -G https://api.example.com/search
curl -sS -H 'Content-Type: application/json' -d '{"name": "web01", "port": 8080}' https://api.example.com/items
curl -sS -F 'file=@/tmp/backup.tar.gz' https://api.example.com/upload
-d 自动把方法变成 POST;需要 PUT/DELETE 用 -X PUT / -X DELETE 显式指定。

易错点

  • JSON 里的双引号在外面用单引号包住最稳;混用引号是 curl 报错重灾区
  • 普通 -d 不做 URL 编码:空格/& 会破坏表单,必要时用 --data-urlencode

数据来源与参考

  • curl 官方文档(curl.se/docs/manpage.html)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌