4

pyftpdlibモジュールを使用してPythonでftpサーバーを実行しようとしています。発生する問題は、「150ファイルステータスは大丈夫です。データ接続を開こうとしています」と表示されることです。そして、サーバーがタイムアウトするまで、その状態が永遠に続きます。

ftpコマンドを使用してcmdからログインします。

PLが役立ちます。

サーバーコードは次のとおりです。

import os
import sqlite3
from pyftpdlib import ftpserver


def main():

    authorizer = ftpserver.DummyAuthorizer()

    ftp_auth_table="H:\\ftp_auth_table1.db"
    connection=sqlite3.connect(ftp_auth_table,isolation_level=None)
    cursor=connection.cursor()
    cursor.execute('''SELECT * FROM ftp_auth_table1''')
    entry=cursor.fetchall()
    # change os.gtcwd() with ftp_actv_dir
    for x in entry:
        authorizer.add_user(x[1], x[2], "H:/MS EVERYTHING", perm='elradfmwM')


    # Instantiate FTP handler class
    handler = ftpserver.FTPHandler
    handler.authorizer = authorizer


    handler.banner = "pyftpdlib %s based ftpd ready." %ftpserver.__ver__


    address = ('127.0.0.1', 21)
    ftpd = ftpserver.FTPServer(address, handler)

    ftpd.max_cons = 256
    ftpd.max_cons_per_ip = 5

    # start ftp server
    ftpd.serve_forever()

if __name__ == '__main__':
    main()
4

1 に答える 1

1

絶対的な自信を持って、問題は「MSEVERYTHING」の間のスペースが原因であることがわかると思います。

于 2012-07-15T15:42:20.213 に答える