我相信您正在寻找 @filename
语法,例如:
剥离新线
curl --data "@/path/to/filename" http://...
保持新线
curl --data-binary "@/path/to/filename" http://...
curl 将从文件中删除所有换行符。如果要发送带有完整换行符的文件,请使用 --data-binary
代替 --data
我知道问题已得到解答,但就我而言,我试图将文本文件的内容发送到 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: argument list too long
在这种情况下接受的答案是救生员curl --data "@/path/to/filename" http://...
就我而言,@
引起了某种编码问题,我仍然更喜欢我的旧方法:
curl -d "$(cat /path/to/file)" https://example.com
curl https://upload.box.com/api/2.0/files/3300/content -H "授权:承载 $access_token" -F file=@"C:\Crystal Reports\Crystal Reports\mysales.pdf"
cat file.txt | curl --data "@-" `(< url.txt )`
@-
告诉 curl 从标准输入读取。您也可以只使用重定向(< x.txt )
来输入您想要的任何内容。如果你使用 bash。--data-binary
代替--data
。name:value
对,例如用户名和密码,则添加与服务预期匹配的必要标头:--header: "<header_name>:<header_value>"
作为单个字符串。