在这里打击n00b ..我正在使用curl发布一个像这样编码的文件b64:
$ cat file.txt | openssl base64 | curl --data @- myhost.com/api
效果很好。我在服务器端拆分键/值,整个消息进入密钥,但是我可以解析它并转换为ascii等..在服务器上。
如何将其他键/值附加到帖子中?像...这样的东西。
$ cat file.txt | openssl base64 | PREPEND "key=value1&key2&value2&btext=" | curl --data @- myhost.com/api
答案 0 :(得分:7)
您可以在子shell中创建所有要卷曲的输入,如下所示:
(echo -n "key=value1&key2=value2&btext="; openssl base64 < file.txt) | curl --data @- myhost.com/api
这将相互执行echo
和openssl
,并将连续输出传递给curl
。
答案 1 :(得分:2)
而不是@ - ,您可以使用-F发布前置密钥和base64文本。
curl -F key=value1 -F key2=value2 -F btext=$(openssl base64 < file.txt | tr -d "\n") myhost.com/api
在我的测试中,除非你删除换行符,否则base64不会被正确发送,-F和@都不适用于特别大的文件(&gt; ~50kb?)。