wget 用于 ftp,使用包含 @ 的密码

wget 用于 ftp,使用包含 @ 的密码

我正在尝试从命令行从我的 ftp 服务器获取一些文件。我正在使用 wget 一次下载整个文件夹。命令是:

wget -m ftp://username:[email protected]:/path/to/folder

但问题是,我的密码包含“@”符号。因此命令变为

wget -m ftp://username:foo@[email protected]:/.. 

因此,wget 尝试解决[电子邮件保护]作为主机,它无法做到这一点。请帮忙!

答案1

不要使用语法,而是user:pass@hostname使用开关。从wget --help

--ftp-user=USER         set ftp user to USER.
--ftp-password=PASS     set ftp password to PASS.

例子:

wget -m --ftp-user=username --ftp-password=foo@bar ftp://ftp.hostname.com/file

答案2

您还可以对用户名和/或密码进行 URL 编码。@符号变为%40

例如:

wget -m ftp://username:foo@[email protected]:/.. 

可以写成

wget -m ftp://username:foo%[email protected]:/.. 

我意识到这个问题很久以前就已经解决了,但是我在眼角余光中看到了这个问题,并认为我会提出一个解决方案(这实际上很有用,因为它应该适用于使用或支持使用 URI 的任何东西,例如 FileZilla 或 Web 浏览器。)

答案3

wget -m --ftp-user=用户名--ftp-密码=foo@barftp://ftp.主机名.com/文件-O /文件路径/目标文件名

相关内容