我正在编写一个调用curl的函数,可以通过STDINinput密码和参数(保持密码不在cmd行)。
我还需要在STDIN上发送POST数据(大量数据不适合cmd行)。
所以,从命令行我可以通过以下方式成功完成:
> curl -K --data-binary @- -other_non-pw_params > -u "username:password" > <User types ctrl-d> > lots_of_post_data > lots_of_post_data > <User types ctrl-d> > <User types ctrl-d>
现在…我试图在BASH脚本中做到这一点…
Active Directory如何在设置新密码时比较用户以前的密码?
命令行参数的Shell脚本密码安全性
安全地存储凭据,当我需要检索密码使用
Psudo-code:
{ echo '-u "username:password"' echo <ctrl-d> | cat dev/null | ^D echo lots_of_post_data echo lots_of_post_data } | curl -K --data-binary @- -other_non-pw_params
在Nginx上使用一次性cookie非常简单的authentication
运行在Nginx和Phusion Passenger上的密码保护Rails站点
在Windows中使用PHP创build受密码保护的Zip文件
你传递所有的参数在STDIN上,并且把–data-binary @ – (或者等价的)放到最后,然后把所有的参数作为数据输入。 示例脚本:
#!/bin/bash { echo '--basic' echo '--compress' echo '--url "https://your_website"' echo '-u "username:password"' echo '--data-binary @-' echo 'lots_of_post_data' echo 'lots_of_post_data' } | curl --config -
使用“这里的文件”:
curl --config - <<EOF --basic ... EOF
没有办法像在Ctrl-D中一样在终端中模拟一个EOF保存到停止发送数据到流中。 你需要找到一个不同的方式来完成这个任务,也许可以通过编写一个更强大的语言脚本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。