Mow*_*zer 32 bash shell shell-script curl
我想要做一个位于 的本地文件HTTP POST的内容(作为一个字符串)path/to/my-file.txt到http://example.com/.
例如,我可能想要执行以下操作:
my-file.txt为字符串。foo。然后做这样的事情:
curl -d "data=foo" http://example.com/
Run Code Online (Sandbox Code Playgroud)
(我实际上并不需要这个foo变量。这只是描述我的问题的一种方便的方式。)
执行此操作需要哪些命令?我需要写一个shell脚本吗?如果是这样,它看起来如何?
Gom*_*dor 38
根据-din的最后一节man curl:
如果您以字母开头数据@,则其余部分应该是从中读取数据的文件名,或者 - 如果您希望 curl 从标准输入读取数据。也可以指定多个文件。foobar因此,从名为的文件中发布数据将使用--data @foobar. 当--data被告知从这样的文件中读取时,将删除回车符和换行符。
也就是说,您不必做任何花哨的事情,只需在文件名前加上@.
Pie*_*erz 28
如此相关问题中所述,如果您希望上传的文件没有任何更改(curl 默认为去除回车/换行符),那么您可能需要使用该--data-binary选项:
curl -X POST --data-binary @path/to/my-file.txt http://example.com/
Run Code Online (Sandbox Code Playgroud)
Mow*_*zer 20
明确地说,接受的答案表明:
curl -d "data=@path/to/my-file.txt" http://example.com/
Run Code Online (Sandbox Code Playgroud)
另请参阅此 SE 答案,此答案也适用于 multi-parts。
| 归档时间: |
|
| 查看次数: |
132031 次 |
| 最近记录: |