我正在使用cURL命令行实用程序将HTTP POST发送到Web服务.我想将文件的内容包含在POST的正文实体中.我已尝试使用-d </path/to/filename>类似信息的其他变体--data </path/to/filename> --data-urlencode </path/to/filename>等...文件始终附加.我需要它作为身体实体.
小智 306
我相信你正在寻找@filename语法,例如:
剥离新线
curl --data "@/path/to/filename" http://...
Run Code Online (Sandbox Code Playgroud)
保持新的路线
curl --data-binary "@/path/to/filename" http://...
Run Code Online (Sandbox Code Playgroud)
=====
curl将从文件中删除所有换行符.如果要完整地发送带有换行符的文件,请使用--data-binary--data代替
我知道问题已得到解答,但在我的情况下,我试图将文本文件的内容发送到Slack Webhook api,由于某种原因,上述答案无效.Anywho,这就是我最终的诀窍:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX
Run Code Online (Sandbox Code Playgroud)
就我而言,@导致了某种编码问题,我仍然更喜欢我的旧方式:
curl -d "$(cat /path/to/file)" https://example.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143767 次 |
| 最近记录: |