在使用wget登录FTP时如何转义@符号

4
我需要使用wget从FTP地址下载所有文件。 我目前正在使用以下代码:
wget -m ftp://user:password@ip.of.old.host

然而,我的FTP访问用户名类似于user@domain这样的格式,所以我会遇到...
wget -m ftp://user@domain:password@ip.of.old.host

该命令失败是因为用户名字段中含有@符号。 我该如何转义@符号? 我在Google上找不到任何答案。


1
我认为你可以使用wget -m命令来下载"ftp://user@domain:password@ip.of.old.host"的文件。 - SaminOz
无法工作...它尝试仅使用用户而不是用户@域访问。 - Mario Villani
2
如果您使用 --user "user@domain" --password "password" ip.of.old.host 会怎样? - fedorqui
没有起作用。我下载了主站点,但没有访问FTP(它是一个简单的HTTP请求,您的命令不处理FTP)。 - Mario Villani
尝试使用--user "user@domain" --password "password" ftp://ip.of.old.host,似乎可以工作,但我得到了错误的登录。(ip.of.old.host在ftp://之前) - Mario Villani
显示剩余2条评论
2个回答

7
解决方案是使用:
wget -m --user "user@domain" --password "password" ftp://ip.of.old.host

如fedorqui所建议的,但在旧主机的IP之前添加ftp://。
谢谢!

1
很高兴看到它是这样的! - fedorqui
1
如果有一个不支持--password标志的wget版本会怎样?例如:我使用的是wget版本“BusyBox v1.26.2(2017-06-11 06:38:32 GMT)multi-call binary。” - Naman

1
解决方案是对 "@" 进行 URL 编码:
wget -m ftp://user%40domain:password@ip.of.old.host

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接