wget для ftp за допомогою пароля, що містить @


15

Я намагаюся отримати деякі файли з мого ftp-сервера з командного рядка. Я використовую wget, щоб завантажити всю папку відразу. Команда така:

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

Але проблема в тому, що мій пароль містить символ "@". Звідси команда стає

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

завдяки чому wget намагається повторно вказати bar@ftp.hostname.com як хост, чого він не в змозі. Будь ласка, допоможіть!

Відповіді:


30

Замість user:pass@hostnameсинтаксису використовуйте перемикачі. Від wget --help:

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

Приклад:

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

7

Ви також можете кодувати URL-адресу користувача та / або пароль. @символ стає%40

Наприклад:

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

можна записати як

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

Я усвідомлюю, що це питання було вирішено давно, але я побачив це в куточку очей і подумав, що кину рішення (це насправді корисно, оскільки він повинен працювати з усім, що використовує або підтримує використання URI, наприклад, FileZilla або веб-браузер.)


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.