2010-01-07 11 views
9

Ich muss eine Datei von einem Host mit sFTP herunterladen.sftp mit ftplib

Wissen Sie, ob es möglich ist, das mit Python ftplib zu tun? Ich sah an example here, aber wenn ich versuche, eine Verbindung herzustellen, erhalte ich EOFError.

habe ich versucht, diesen Code:

import ftplib 
ftp = ftplib.FTP() 
ftp.connect("1.2.3.4", "22") 

Diese Methode mit einem Fehler nach langer Zeit zurück, so kann ich nicht ein Anruf durchführt um sich einzuloggen. Ich kann nicht den Konstruktor FTP([host[, user[, passwd[, acct[, timeout]]]]]) versuchen, weil mein Port 22 ist aber ftplib Standard ist 21.

Wenn ich das Beispiel

ftp = ftplib.FTP("1.2.3.4") 
ftp = ftplib.FTP("1.2.3.4","22") 

folgen erhalte ich eine Verbindung abgelehnt, so kann ich jeden Benutzername Passwort nicht eingeben. Kannst du mir helfen? Vielen Dank

+1

akzeptiert nicht die Antwort für diese Frage eindeutig besagt, dass Paramiko ist der Weg zu gehen? – SilentGhost

Antwort

11

Wie the question you linked to besagt, ftplib unterstützt nicht sftp (das ist FTP über SSH und hat nichts mit FTPS, FTP über SSL zu tun). Verwenden Sie stattdessen die recommendedparamiko.

+0

Auch .. Es tut mir leid! Ich habe es nicht bemerkt. Vielen Dank –