wget dla ftp za pomocą hasła zawierającego @


15

Próbuję pobrać niektóre pliki z mojego serwera ftp z wiersza polecenia. Korzystam z wget, aby pobrać cały folder na raz. Polecenie to:

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

Problem w tym, że moje hasło zawiera symbol „@”. Stąd polecenie staje się

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

z tego powodu wget próbuje przywrócić bar@ftp.hostname.com jako hosta, czego nie jest w stanie. Proszę pomóż!

Odpowiedzi:


30

Zamiast user:pass@hostnameskładni użyj przełączników. Od wget --help:

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

Przykład:

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

7

Możesz także zakodować URL nazwę użytkownika i / lub hasło. @Symbol staje%40

Na przykład:

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

można zapisać jako

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

Zdaję sobie sprawę, że to pytanie zostało rozwiązane dawno temu, ale zobaczyłem to kątem oka i pomyślałem, że wrzucę rozwiązanie (jest to faktycznie przydatne, ponieważ powinno działać z wszystkim, co używa lub obsługuje używanie identyfikatorów URI, takie jak FileZilla lub przeglądarka internetowa).


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.