使用axel下载程序下载带有用户名和密码的文件,不接受特殊字符,如; :< >

时间:2013-05-29 19:15:23

标签: wget

当我使用axel下载程序下载带有用户名和密码的文件时,它将下载。

工作示例

axel.exe  http://mathanraj:78tyu@xxxx.com/xxx.zip  (no probleam)

但问题是,如果密码包含特殊字符,例如;:<> axel下载程序不接受它。

不工作示例

axel.exe  http://mathanraj:78tyu;;@xxxx.com/xxx.zip (here only probleam)

如何在密码中使用;:<>等特殊字符,以便使用axel下载程序下载。

3 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,并在任何特殊字符之前使用\解决了问题。 然而,还有另一种方法,我更喜欢这样做。您可以使用Header选项添加HTTP Authorization标头,这有助于您不以纯文本形式表达您的用户名和密码。

首先,您需要将您的凭据转换为base64,就像在类Unix系统上一样:

echo -n "username:password" | openssl base64

不要忘记-n选项,以便不打印尾随换行符。您还需要像以前一样使用\作为特殊字符。

然后你可以用这种方式使用axel:

axel -H "Authorization: Basic base64HashValue" "yourURL"

希望它能解决你的问题。 ;)

答案 1 :(得分:2)

我希望url-encoding有效 - 使用百分比(%)后跟每个字符的十六进制值。在URL周围添加单引号也是一个好主意。

axel.exe 'http://mathanraj:78tyu%3B%3B@xxxx.com/xxx.zip'

答案 2 :(得分:1)

尝试在密码('')之间输入密码,如下所示:

axel.exe  http://mathanraj:'78tyu;;'@xxxx.com/xxx.zip 

刚刚尝试使用linux,它确实有用。