ftp的wget使用包含@的密码


15

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

wget -m ftp://username:password@ftp.hostname.com:/path/to/folder

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

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

因此,wget尝试将bar@ftp.hostname.com解析为主机,但它无法这样做。请帮忙!

Answers:


30

而不是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

7

您也可以使用URL编码用户名和/或密码。该@符号变为%40

例如:

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

可以写成

wget -m ftp://username:foo%40bar@ftp.hostname.com:/.. 

我意识到这个问题已经很久以前就已经解决了,但是我很快就发现了这个问题,并以为我会提出一个解决方案(这实际上很有用,因为它可以与使用或支持使用URI的任何事物一起使用,例如FileZilla或网络浏览器。)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.