Command line 通过CLI使用特殊字符转义FTP密码

Command line 通过CLI使用特殊字符转义FTP密码,command-line,ftp,escaping,Command Line,Ftp,Escaping,正在尝试使用Grunt FTP部署插件。使用FTP密码,密码中的字符为!、@、%、#而且似乎找不到其中的哪一个以及如何逃脱 我已尝试将整个密码字符串用单引号括起来,并\转义每个字符。在前一种情况下,我仍然获取和验证失败错误;在后一种情况下,我得到一个类似“意外令牌”的错误。 重要信息:请确保.ftppass文件对 键的名称和字符串值 字符串 字符系列(字母、数字或符号);双引号 带反斜杠转义的UTF-8 我知道这是一个老问题,但我只是有这个问题,并最终找到了解决办法 我的CLI是Windows

正在尝试使用Grunt FTP部署插件。使用FTP密码,密码中的字符为!、@、%、#而且似乎找不到其中的哪一个以及如何逃脱

我已尝试将整个密码字符串用单引号括起来,并\转义每个字符。在前一种情况下,我仍然获取和验证失败错误;在后一种情况下,我得到一个类似“意外令牌”的错误。

重要信息:请确保.ftppass文件对 键的名称和字符串值


字符串
字符系列(字母、数字或符号);双引号 带反斜杠转义的UTF-8


我知道这是一个老问题,但我只是有这个问题,并最终找到了解决办法

我的CLI是Windows,我的问题与批处理脚本有关,其中我的SFTP(使用PSFTP)的密码具有特殊字符

我用下面描述的规则解决了这个问题:

密码为“X5d2KeY6%0123ghjy”。
密码变成了“X5d2KeY6%%0123ghjy”(即,%变成%%)。

您是否尝试过使用单引号或双引号而不转义特殊字符?我尝试过单引号、双引号和\转义。什么都不管用。这是一个Windows服务器,我不确定这会有什么不同,我可以使用FTP客户端直接使用密码进行连接#p@ss%奥德你到底会怎么做?我已经试过了#p@ss%奥德!”,"#p@ss%ord!”(这些引号转义为JSON)和\转义所有和每个特殊字符。您说“这些引号转义为JSON”-这到底是什么意思?第二个字符串应该是这样的:
{“key1”:{“username”:“username1”,“password”:#p@ss%ord!”}
如果密码中确实存在双引号,则不需要对密码中除双引号以外的任何内容进行转义。是的,JSON格式正确。密码的所有引号都是在值的双引号内完成的。