小编典典

使用 cURL 上传带有文件的 POST 数据

all

我想使用 cURL 不仅可以在 HTTP POST 中发送数据参数,还可以上传具有特定表单名称的文件。我应该怎么做呢?

HTTP Post 参数:

userid = 12345 filecomment = 这是一个图像文件

HTTP文件上传:文件位置=/home/user1/Desktop/test.jpg 文件的表单名=图片(对应PHP端的$_FILES[‘image’])

我认为 cURL 命令的一部分如下:

curl -d "userid=1&filecomment=This is an image file" --data-binary @"/home/user1/Desktop/test.jpg" localhost/uploader.php

我遇到的问题如下:

Notice: Undefined index: image in /var/www/uploader.php

问题是我正在使用 $_FILES[‘image’] 来获取 PHP 脚本中的文件。

如何相应地调整我的 cURL 命令?


阅读 191

收藏
2022-03-11

共1个答案

小编典典

您需要使用以下-F选项:
-F/--form <name=content> Specify HTTP multipart POST data (H)

尝试这个:

curl \
  -F "userid=1" \
  -F "filecomment=This is an image file" \
  -F "image=@/home/user1/Desktop/test.jpg" \
  localhost/uploader.php
2022-03-11