wget para ftp usando uma senha contendo @

14

Estou tentando obter alguns arquivos do meu servidor ftp na linha de comando. Estou usando o wget para baixar a pasta inteira de uma só vez. O comando é:

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

Mas o problema é que minha senha contém o símbolo '@'. Portanto, o comando se torna

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

por isso, o wget tenta remover [email protected] como o host, o que não é possível. Por favor ajude!

roopunk
fonte

Respostas:

29

Em vez da user:pass@hostnamesintaxe, use opções. De wget --help:

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

Exemplo:

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

Você também pode codificar por URL o nome de usuário e / ou a senha. O @símbolo se torna%40

Por exemplo:

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

pode ser escrito como

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

Sei que essa pergunta foi resolvida há muito tempo, mas vi isso no canto do meu olho e pensei em lançar uma solução (isso é realmente útil, porque deve funcionar com qualquer coisa que use ou suporte o uso de URIs, como FileZilla ou um navegador da Web.)

John Chadwick
fonte
-2

wget -m --ftp-user = nome de usuário --ftp-password = foo @ bar ftp://ftp.hostname.com/file -O / path_to_file / dest_file_name

Yezzo
fonte
2
Duplica uma resposta dada há 3 anos ...
xenoid 12/07