如何使用cURL命令对Linux或Unix上的字段执行POST数据

时间:2020-01-09 10:40:48  来源:igfitidea点击:

如何在Linux或Unix上使用cURL命令发布数据,即在Linux或Unix上上传内容?
如何使用cURL Linux命令行发出POST请求以上传文件?

curl是从服务器传输数据或向服务器传输数据的好工具,特别是从命令行发出请求,测试请求和API。
本教程说明如何在Linux或类似UNIX的系统上使用curl命令行上传文件。

使用CURL上传文件

语法为:

curl -F "[email protected]' https://url/name

要发布带有字段的数据:

curl --data "f=foo&d=bar" https://url/name

例如,如果如何将/home/petehouston/hello.txt中的文件上传到服务器http://localhost/upload,该服务器使用名为img_avatar的表单参数处理文件输入,我将发出这样的请求,

curl -F 'img_name=@/home/theitroad/welcome.jpg' https://server1.theitroad.local/cdnimages/

要上传多个文件,请运行:

curl -F 'foo=@/path/to/img1.jpg' -F 'bar=@/path/to/img2.jpg' https://server1.theitroad.local/form/

在此示例中,我将一个名为ansible-setup.png的文件上传到imgur:

curl -H "Referer: https://imgur.com/upload" -F "[email protected];type=image/png" https://imgur.com/upload

输出示例:

{"data":{"hashes":["uZbpdKC"],"hash":"uZbpdKC","deletehash":"XXXXXXXX","album":false,"edit":false,"gallery":null,"animated":false,"height":112,"width":599,"ext":".png","msid":"8aaa97a2e5f6489cf6f65d086d47448b"},"success":true,"status":200

您可以在此处看到上传的网址。
传递-v开关以查看更多信息,包括进度