wget para ftp usando uma senha contendo @

13

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 '@'. Daí o comando torna-se

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

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

    
por roopunk 22.12.2012 / 05:13

3 respostas

26

Em vez da sintaxe user:pass@hostname , use switches. 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
    
por 22.12.2012 / 05:24
6

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

Por exemplo:

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

pode ser escrito como

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

Eu percebo que esta pergunta foi resolvida há muito tempo, mas eu 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 o FileZilla ou um navegador da Web.)

    
por 02.07.2014 / 23:54
-2

wget -m --ftp-user = nome_do_usuário --ftp-password = foo @ bar ftp://ftp.hostname.com/ arquivo -O / path_to_file / dest_file_name

    
por 12.07.2017 / 08:02

Tags