我在Ubuntu11.10发行版上使用Python2.7。
我的ftplib模块和ftp-tls连接有问题。
在我的ftp服务器上有vsftp
尝试连接时,收到以下错误:
ftplib.error_perm:530请与用户登录并通过。
这是我的代码:
from ftplib import FTP_TLS
ftp = FTP_TLS( '192.168.1.5' )
ftp.login( 'user' , 'password')
ftp.close()
不管怎样,如果我使用简单的ftp连接,ftp=ftp('192.168.1.5'),它就会工作!
但我需要ftp-tls连接。我也尝试插入PARAM FTP.Author()和FTP.PERTYP(),但什么也没有发生。
最佳答案
FTP_TLS
类现在似乎不能很好地处理登录。不幸的是,您必须亲自显式地将这些命令发送到服务器。
from ftplib import FTP_TLS
# Do *not* specify the user and password in the FTP_TLS constructor arguments.
# Doing so will cause ftplib to try to login, resulting in the 530 error.
ftp = FTP_TLS('ftp.somewhere.com')
ftp.sendcmd('USER myusername') # '331 Please specify the password.'
ftp.sendcmd('PASS mypassword') # '230 Login successful.'