Herunterladen von Dateien von FTP mit cURL
Ich versuche, mit einem cURL-Befehl eine Datei von einem FTP-Server auf ein lokales Laufwerk auf meinem Computer herunterzuladen. Ich habe versucht
Curl "ftp://myftpsite "--Benutzername: Passwort-Q " CWD/users/ myfolder / "- O "myfile.raw"
Aber es gibt einen Fehler zurück, der besagt:
Curl: Remote Dateiname hat keine Länge!
curl: Versuchen Sie 'curl --help 'oder' curl --manual ' für weitere Informationen
curl: (6) host: myfile konnte nicht aufgelöst werden.roh; Keine Daten Datensatz des angeforderten Typs
Ich habe einige andere Methoden ausprobiert, aber nichts scheint zu funktionieren.
Außerdem bin ich mir nicht ganz sicher, in welchen Ordner die Datei heruntergeladen werden soll. Wie würde ich das tun?
4 answers
Versuchen
curl -u user:password 'ftp://mysite/%2fusers/myfolder/myfile/raw' -o ~/Downloads/myfile.raw
In FTP-URLs ist der Pfad relativ zum Startverzeichnis (normalerweise Ihrem Homedir). Sie müssen einen absoluten Pfad angeben, und das bedeutet, dass Sie %2f
verwenden, um /
anzugeben. Dies ist erforderlich, da der Pfad in ftp:
URLs als eine Liste von durch Schrägstriche getrennten Namen behandelt wird, von denen jeder einem separaten Befehl CWD
gegeben werden soll. Das %2f
wird nach dem Teilen von dekodiert. Siehe RFC 1738 und FTP URLs.
Geben Sie für den Ausgabeort einfach einen Pfad zu -o
an.
Sicherheitsvorschläge:
Geben Sie Ihr Passwort nicht in die URL ein. Das Speichern in
~/.netrc
ist ebenfalls nicht besonders sicher, aber es ist zumindest vorps -ef
verborgen.Ihr Passwort wird im Klartext gesendet. Wenn der Server dies unterstützt, verwenden Sie
curl --ssl-reqd
odercurl ftps://mysite/...
Die Verwendung von SFTP (dem SSH-Dateiübertragungsprotokoll) wäre gleichmäßig verbessern.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-01 19:56:18
curl -T /users/myfolder/myfile.raw -u username:password "ftp://myftpsite/path/myfile.raw"
Ich benutze das die ganze Zeit. Es funktioniert wie ein Zauber.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-10-30 22:49:19
Versuche:
curl "ftp://user:password@myftpsite/users/myfolder/myfile.raw"
(Wenn der Name der entfernten Datei ' myfile.raw')
Wie yan vorschlägt,
Curl "ftp://user:password@myftpsite/users/myfolder/myfile.raw - "
Sollte funktionieren, aber einige FTP-Server verwenden Sicherheitsrichtlinien, die nicht standardkonform sind. In diesen Fällen kann die Option --ftp-method singlecwd
oder --ftp-method nocwd
hilfreich sein.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-27 03:14:25