import ftplib
import ssl
class ImplicitFTP_TLS(ftplib.FTP_TLS):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._sock = None
@property
def sock(self):
return self._sock
@sock.setter
def sock(self, value):
if value is not None and not isinstance(value, ssl.SSLSocket):
value = self.context.wrap_socket(value)
self._sock = value
ftp_client = ImplicitFTP_TLS()
ftp_client.connect(host='192.168.1.100', port=10012)
ftp_client.login(user='用户名', passwd='密码')
ftp_client.prot_p()
print("ftp连接成功.......")
# 执行FTP操作
# 例如:列出FTP服务器上的文件
ftp_client.retrlines('LIST')
# 关闭FTP连接
ftp_client.quit()
参考地址: https://stackoverflow.com/questions/12164470/python-ftp-implicit-tls-connection-issue