Curl:如何传递包含百分号的密码

Posted

技术标签:

【中文标题】Curl:如何传递包含百分号的密码【英文标题】:Curl : How to pass password containing a percent sign 【发布时间】:2012-09-01 11:05:25 【问题描述】:

我没有使用 php,而是另一种语言。仅供参考。但是,我将 PHP 作为标签包含在内,以防万一有人有解决方案...

目前,我首先尝试获取正确的字符串(通过 curl 从远程服务器下载文件到本地域)。无论如何,密码包含一个百分号 (%)。 当我这样做时,我在命令行上收到以下错误:

curl: (67) Access denied: 530

67 是来自 curl 的错误代码(另请参阅 http://curl.haxx.se/docs/manpage.html),表示“用户名、密码或类似名称未被接受,并且 curl 无法登录。”

现在说原始字符串是这样的:

curl -u Login:Pass%Word

我尝试了以下在网上找到的解决方案:

curl -u Login:Pass%25Word
curl -u Login:Pass%%Word
curl -u Login:Pass^%Word
curl -u Login:Pass^%%Word

但是.. 我总是拒绝访问。

有人可以帮帮我吗?

【问题讨论】:

改密码能不能试试?或者,如果您尝试使用没有此类字符的密码的用户? @GolezTrol 好主意。我在不同的服务器上尝试过,所以我会有不同的用户名/密码(没有百分比)并且它可以工作,即使它需要 46 秒才能获取文件...... 【参考方案1】:

你试过用 ASCII 码吗?

curl -u Login:Pass%25Word

Source

【讨论】:

(我也从那个网站得到了我尝试过的其他东西......)【参考方案2】:

我刚刚重播了您的案例:让用户测试 / some%password 并保护我的网站。

这两个命令有效: curl -u 'test:some%password' curl -u test:some%password

您似乎只是使用了错误的密码或拼写错误的服务器名称

【讨论】:

是的,你是对的。我检查了电子邮件中的登录名,并用我一直在使用的内容进行了验证(但从未在 ftp 连接中查看过),并且电子邮件中的登录名在登录的中间有一个大写字母。在 ftp 中(然后我记得几个月前曾提到过这个问题),它中途没有那个大写字母。解决这个问题使它一切正常。谢谢!

以上是关于Curl:如何传递包含百分号的密码的主要内容,如果未能解决你的问题,请参考以下文章

Wix:将分号设置为CustomActionData

百分号 % 在 crontab 中不起作用

将文字百分号传递给 QuerySet.extra()

当 URL 包含百分比符号时如何停止错误 400? (阿帕奇)

如何返回一个新的数据框,其中数字代表其包含行的百分比[重复]

URL传参中不能带特殊的字符以及处理方案