wget für ftp mit einem Passwort mit @

14

Ich versuche, einige Dateien von meinem FTP-Server über die Befehlszeile abzurufen. Ich verwende wget, um den gesamten Ordner auf einmal herunterzuladen. Der Befehl lautet:

wget -m ftp://username:[email protected]:/path/to/folder

Das Problem ist aber, dass mein Passwort das '@' Symbol enthält. Daher wird der Befehl

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

Aus diesem Grund versucht wget, [email protected] als Host zu entfernen, was nicht möglich ist. Bitte helfen Sie!

Roopunk
quelle

Antworten:

29

user:pass@hostnameVerwenden Sie statt der Syntax Schalter. Von wget --help:

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

Beispiel:

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

Sie können auch den Benutzernamen und / oder das Passwort per URL verschlüsseln. Das @Symbol wird%40

Beispielsweise:

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

kann geschrieben werden als

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

Mir ist klar, dass diese Frage schon vor langer Zeit gelöst wurde, aber ich habe sie aus den Augenwinkeln gesehen und dachte, ich würde eine Lösung vorschlagen (dies ist tatsächlich nützlich, da es mit allem funktionieren sollte, das URIs verwendet oder unterstützt, wie z FileZilla oder ein Webbrowser.)

John Chadwick
quelle
-2

wget -m --ftp-user = Benutzername --ftp-password = foo @ bar ftp://ftp.hostname.com/file -O / Pfad_zu_Datei / Ziel_Dateiname

Yezzo
quelle
2
Kopiert eine vor 3 Jahren gegebene Antwort ...
xenoid