首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用来自文件的post数据向cURL发送请求

使用来自文件的post数据向cURL发送请求
EN

Stack Overflow用户
提问于 2011-06-20 17:02:35
回答 5查看 382.7K关注 0票数 321

我需要从命令行通过cURL发出POST请求。此请求的数据位于文件中。我知道via PUT可以通过--upload-file选项来完成。

代码语言:javascript
运行
复制
curl host:port/post-file -H "Content-Type: text/xml" --data "contents_of_file"
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-20 17:13:44

您正在寻找--data-binary参数:

代码语言:javascript
运行
复制
curl -i -X POST host:port/post-file \
  -H "Content-Type: text/xml" \
  --data-binary "@path/to/file"

在上面的示例中,-i打印出所有的头文件,以便您可以看到发生了什么,并且-X POST明确表示这是一个post。这两个都可以安全地省略,而不会改变网络上的行为。文件的路径前面需要有一个@符号,这样curl才知道要从文件中读取。

票数 461
EN

Stack Overflow用户

发布于 2017-11-04 01:58:02

我需要从命令行通过Curl发出一个POST请求。此请求的数据位于文件中...

您所需要做的就是让--data参数以@开头

代码语言:javascript
运行
复制
curl -H "Content-Type: text/xml" --data "@path_of_file" host:port/post-file-path

例如,如果数据位于名为stuff.xml的文件中,则应执行以下操作:

代码语言:javascript
运行
复制
curl -H "Content-Type: text/xml" --data "@stuff.xml" host:port/post-file-path

可以用文件的相对路径或完整路径替换stuff.xml文件名:@../xml/stuff.xml@/var/tmp/stuff.xml、...

票数 68
EN

Stack Overflow用户

发布于 2017-01-05 18:32:20

如果使用表单数据上载文件,其中必须指定参数名称,则可以使用:

curl -X POST -i -F "parametername=@filename" -F "additional_parm=param2" host:port/xxx

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6408904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档