我需要从命令行通过cURL发出POST请求。此请求的数据位于文件中。我知道via PUT可以通过--upload-file选项来完成。
curl host:port/post-file -H "Content-Type: text/xml" --data "contents_of_file"发布于 2011-06-20 17:13:44
您正在寻找--data-binary参数:
curl -i -X POST host:port/post-file \
-H "Content-Type: text/xml" \
--data-binary "@path/to/file"在上面的示例中,-i打印出所有的头文件,以便您可以看到发生了什么,并且-X POST明确表示这是一个post。这两个都可以安全地省略,而不会改变网络上的行为。文件的路径前面需要有一个@符号,这样curl才知道要从文件中读取。
发布于 2017-11-04 01:58:02
我需要从命令行通过Curl发出一个POST请求。此请求的数据位于文件中...
您所需要做的就是让--data参数以@开头
curl -H "Content-Type: text/xml" --data "@path_of_file" host:port/post-file-path例如,如果数据位于名为stuff.xml的文件中,则应执行以下操作:
curl -H "Content-Type: text/xml" --data "@stuff.xml" host:port/post-file-path可以用文件的相对路径或完整路径替换stuff.xml文件名:@../xml/stuff.xml、@/var/tmp/stuff.xml、...
发布于 2017-01-05 18:32:20
如果使用表单数据上载文件,其中必须指定参数名称,则可以使用:
curl -X POST -i -F "parametername=@filename" -F "additional_parm=param2" host:port/xxx
https://stackoverflow.com/questions/6408904
复制相似问题