【问题标题】:Python module ftplib FTP_TLS - Error 530Python 模块 ftplib FTP_TLS - 错误 530
【发布时间】:2012-04-18 10:35:47
【问题描述】:

我在 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 连接。我也尝试插入参数 ftp.auth() 和 ftp.prot_p() 但没有任何反应。

【问题讨论】:

    标签: python ftplib


    【解决方案1】:

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

    【讨论】:

    • 还是这样:C
    • FTP_TLS 现在可以正常工作了,你可以在构造函数中传递用户名和密码:client = FTP_TLS(host="hostnamegoeshere", user="usernamegoeshere", passwd="pwgoeshere")
    【解决方案2】:

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

    【讨论】:

    • 我更喜欢 m2crypto,但选择权在你:)
    猜你喜欢
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2012-11-12
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多