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.