Я пытаюсь подключиться, чтобы подключиться к FTP-сайту, чтобы загрузить некоторые файлы:
from ftplib import FTP_TLS
from ftplib import FTP
import ssl
import ftplib
FTP_TLS.ssl_version = ssl.PROTOCOL_TLSv1_2
ftps = FTP_TLS(timeout=100)
ftps.set_debuglevel(2)
ftps.connect('IP', port)
ftps.auth()
ftps.prot_p()
ftps.login('username', 'password')
Программа пытается какое-то время, прежде чем произойдет сбой со следующей ошибкой:
get '' Трассировка (последний последний вызов): Файл "FTP.py", строка 12, в ftps.connect('IP', порт) Файл "C:_data\learn\Miniconda\lib \ftplib.py", строка 155, в файле connect self.welcome = self.getresp() "C:_data\learn\Miniconda\lib\ftplib.py", строка 236, в файле getresp resp = self.getmultiline() "C:_data\learn\Miniconda\lib\ftplib.py", строка 222, в getmultiline строка = self.getline() Файл "C:_data\learn\Miniconda\lib\ftplib.py", строка 210, в getline поднять EOFError EOFError
Я не уверен, в чем причина этой ошибки. Я могу подключиться к ftp-серверу, используя те же данные с FTP-клиентом (FileZilla). Может ли кто-нибудь указать, есть ли проблема с моим кодом и возможные варианты ее устранения.
Изменить 1
Как предлагается ниже, публикуя журналы FileZilla:
Status: Connecting to IP:Port... Status: Connection established, initializing TLS... Status: Verifying certificate... Status: TLS connection established, waiting for welcome message... Status: Logged in Status: Retrieving directory listing... Status: Directory listing of "/" successful
FIleZilla явно выводит сертификат, который я нажимаю OK на своем рабочем столе, после чего соединение устанавливается. Я предполагаю, что ошибка здесь связана с тем, что мой код не принимает сертификат. Любая помощь приветствуется.