如何使用 cURL 将文件的内容作为 POST 参数发送?



我正在尝试使用cURL来发布文件的内容,就好像我已将该内容粘贴到html文本区域中一样。 也就是说,我不想上传文件,我只想用一个名为 bar.txt 的文件的文本填充一个名为 foo 的 post 参数。 bar.txt的内容可能包括换行符、引号等。

这可能吗?

谢谢。

编辑:我最后发现了如何做到这一点:

curl --data-urlencode "foo@bar.txt" http://example.com/index.php

这将获取文件栏的内容.txt,url 对其进行编码,将结果字符串放在 POST 请求中名为 foo 的参数中 http://example.com/index.php。

我不能说其他人建议的解决方案是否有效,但上面的解决方案似乎是最好的方法。

你可以执行以下操作:

$ curl --data "foo:$(cat foo.txt)" http://localhost/yourfile.php

请注意,正如cacheguard所说,您可能希望对文件进行编码。要在 base64 中对其进行编码,只需像这样修改前面的命令:

$ curl --data "foo:$(cat foo.txt | base64)" http://localhost/yourfile.php

您应该对文件的内容进行编码/解码(例如,在 Linux 下使用 base64 命令)。

文件.txt:

8<----------------------------
Hello World
I am a Secure Web Gateway
8<----------------------------
base64 foo.txt | base64 -d

相关内容

  • 没有找到相关文章

最新更新