我正在尝试从命令行从我的 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 /文件路径/目标文件名