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:password@ftp.hostname.com:/path/to/folder

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

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

por isso, o wget tenta remover bar@ftp.hostname.com como o host, o que não é possível. Por favor ajude!

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

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@bar@ftp.hostname.com:/.. 

pode ser escrito como

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

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.)


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.