我使用curl命令行实用程序将httppost发送到web服务。我想包含一个文件的内容作为文章的主体实体。我试过使用 -d </path/to/filename> 以及其他具有类型信息的变体,如 --data </path/to/filename> --data-urlencode </path/to/filename> 等。。。文件总是附加的。我需要它作为身体实体。
-d </path/to/filename>
--data </path/to/filename> --data-urlencode </path/to/filename>
lp0sw83n1#
就我而言, @ 造成了某种编码问题,我还是喜欢我以前的方式:
@
curl -d "$(cat /path/to/file)" https://example.com
yquaqz182#
我知道这个问题已经得到了回答,但在我的例子中,我试图将文本文件的内容发送到slackwebhook api,由于某种原因,上面的答案没有起作用。不管是谁,这就是我最后的诀窍:
curl -X POST -H --silent --data-urlencode "payload={\"text\": \"$(cat file.txt | sed "s/\"/'/g")\"}" https://hooks.slack.com/services/XXX
dxxyhpgq3#
我相信你在找 @filename 语法,例如:剥离新线
@filename
curl --data "@/path/to/filename" http://...
保留新线路
curl --data-binary "@/path/to/filename" http://...
=====curl将从文件中删除所有新行。如果要完整地发送包含换行符的文件,请使用 --data-binary 代替--数据
--data-binary
3条答案
按热度按时间lp0sw83n1#
就我而言,
@
造成了某种编码问题,我还是喜欢我以前的方式:yquaqz182#
我知道这个问题已经得到了回答,但在我的例子中,我试图将文本文件的内容发送到slackwebhook api,由于某种原因,上面的答案没有起作用。不管是谁,这就是我最后的诀窍:
dxxyhpgq3#
我相信你在找
@filename
语法,例如:剥离新线
保留新线路
=====
curl将从文件中删除所有新行。如果要完整地发送包含换行符的文件,请使用
--data-binary
代替--数据