我使用cURL命令行实用程序发送HTTP POST到web服务。我想将一个文件的内容作为POST的主体实体。我已经尝试使用-d </path/to/filename>以及其他具有类型信息的变体,如——data </path/to/filename>——data-urlencode </path/to/filename>等…该文件始终是附加的。我需要它作为肉体实体。
当前回答
我知道这个问题已经得到了回答,但在我的情况下,我试图将一个文本文件的内容发送到Slack Webhook api,由于某种原因,上面的答案没有工作。不管怎样,这就是最终让我成功的原因:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX
其他回答
我相信你正在寻找@filename语法,例如:
剥离新线路
curl --data "@/path/to/filename" http://...
保持新的台词
curl --data-binary "@/path/to/filename" http://...
Curl将从文件中剥离所有换行符。如果你想要完整地发送换行文件,使用——data-binary代替——data
curl https://upload.box.com/api/2.0/files/3300/content -H "授权:持有者$access_token" -F file=@"C:\Crystal Reports\Crystal Reports\mysales.pdf"
我知道这个问题已经得到了回答,但在我的情况下,我试图将一个文本文件的内容发送到Slack Webhook api,由于某种原因,上面的答案没有工作。不管怎样,这就是最终让我成功的原因:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX
在我的例子中,@导致了某种编码问题,我仍然喜欢我的旧方法:
curl -d "$(cat /path/to/file)" https://example.com
推荐文章
- PHP中的cURL是什么?
- 对bash脚本函数中定义的变量使用curl POST
- 使用curl POST multipart/form-data的正确方法是什么?
- PHP -调试Curl
- (1) libcurl不支持或禁用https协议
- 我如何调试一个HTTP POST在Chrome?
- 发送POST数据重定向与JavaScript/jQuery?
- 在尝试访问HTTPS url时,如何使用cURL处理证书?
- 如何使用PHP 7安装ext-curl扩展?
- 如何通过JSON文件传递有效载荷卷曲?
- 编写器安装错误——当它实际启用时需要ext_curl
- 如何使用Python执行cURL命令?
- CURL命令行URL参数
- 执行没有实体主体的HTTP POST被认为是不好的做法吗?
- 我如何为卷曲设置请求头?