2016-11-10 1 views
0

Я подключаюсь к FTP-сайту с использованием FTPS (явно). Соединение и основные команды работают очень хорошо, но когда я пытаюсь получить список каталогов или файл, я получаю SSLEOFError.SSLEOFError на FTPS с использованием Python ftplib

from ftplib import FTP_TLS 
ftps = FTP_TLS() 
ftps.auth() 
ftps.prot_p() 
ftps.login(username, password) 
ftps.cwd('/') 
ftps.retrlines('LIST') 
ftps.quit() 

Все, что связано с командой «LIST», выполняется без проблем. Для команды «списка» я получаю ответ:

'150 Opening data channel for directory listing of "/" 

И тогда я получаю ошибку:

SSLEOFError: EOF occurred in violation of protocol (_ssl.c:645) 

Я попытался установить TLSv1 явно - не дало никаких результатов. Используя FTP-клиент, я могу без проблем подключиться к FTP-сайту. Что я делаю неправильно в своем коде? Я пробовал оба Python 3.5 и 2.7.

ответ

0

Оказывается, проблема связана с тем, что FTP-сервер, к которому я подключался, требует возобновления сеанса, который не поддерживается в Python 3.5 и 2.7. Функциональность была добавлена ​​в 3.6.

Смежные вопросы