FTPES - Sitzungswiederverwendung erforderlich

Daher versuche ich, eine Verbindung zu einem FTP-Server herzustellen, um Verzeichnislisten abzurufen und Dateien herunterzuladen. Der erste Befehl nach der Funktion prot_p () löst jedoch eine Ausnahme aus:

*get* '150 Here comes the directory listing.\r\n'
*resp* '150 Here comes the directory listing.'
*get* '522 SSL connection failed; session reuse required: see require_ssl_reuse
option in vsftpd.conf man page\r\n'
*resp* '522 SSL connection failed; session reuse required: see require_ssl_reuse
 option in vsftpd.conf man page'
Traceback (most recent call last):
  File "C:\temp\download.py", line 29, in <module>
    files = ftps.dir()
  File "C:\Python27\lib\ftplib.py", line 522, in dir
    self.retrlines(cmd, func)
  File "C:\Python27\lib\ftplib.py", line 725, in retrlines
    return self.voidresp()
  File "C:\Python27\lib\ftplib.py", line 224, in voidresp
    resp = self.getresp()
  File "C:\Python27\lib\ftplib.py", line 219, in getresp
    raise error_perm, resp
ftplib.error_perm: 522 SSL connection failed; session reuse required: see requir
e_ssl_reuse option in vsftpd.conf man page

Hier ist der Code:

from ftplib import FTP_TLS
import os
import socket

host = 'example.com'
port = 34567
user = 'user1'
passwd = 'pass123'
acct = 'Normal'

ftps = FTP_TLS()

ftps.set_debuglevel(2)

ftps.connect(host, port)

print(ftps.getwelcome())
print(ftps.sock)

ftps.auth()

ftps.login(user, passwd, acct)

ftps.set_pasv(True)
ftps.prot_p()

print('Current directory:')
print(ftps.pwd())
files = ftps.dir()

ftps.quit()

Ich möchte dies sicher tun und daher FTP über TLS Explicit verwenden. Ich habe die Idee, dass ich möglicherweise einige Einstellungen in der Socket-Klasse ändern muss, auf die FTPLib verweist. Das Ändern der Einstellungen auf dem Server ist nicht möglich. Ich habe den Server erfolgreich mit dem FileZilla-Client getestet. Eine ältere Version von WinSCP hat den gleichen Fehler ausgelöst, obwohl dies durch ein Upgrade auf die neueste Version behoben wurde.

Irgendwelche Ideen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage