Python模块ftplib FTP_TLS - 错误530

时间:2012-04-18 10:35:48

标签: python ftplib

我在ubuntu 11.10发行版上使用Python 2.7。

我遇到ftplib模块和FTP_TLS连接问题。 在我的ftp服务器上有vsftp

尝试连接时,我收到此错误:

ftplib.error_perm:530请使用USER和PASS登录。

这是我的代码:

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.auth()和ftp.prot_p()但没有任何反应。

2 个答案:

答案 0 :(得分:6)

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.'

答案 1 :(得分:0)

尝试TLS LiteM2Crypto都是FTP / TLS客户端和服务器。