使用python搭建一个ftp服务器

使用python搭建一个ftp服务器

  • 使用pyftpdlib模块启动ftp服务器,使用logging来记录日志。日志输出在当前目录的myftpserver.log文件下
  • 使用被动模式的FTP
  • 这里创建了一个xwp账号,一个annoymous账号。
  • 同时对上传下载速度进行了限制,30000KB/s

ftpserver.py

# FTP server

import logging
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler, ThrottledDTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.log import LogFormatter

logger = logging.getLogger()
logger.setLevel(logging.INFO)

ch = logging.StreamHandler()
fh = logging.FileHandler(filename="myftpserver.log", encoding='utf-8')
ch.setFormatter(LogFormatter())
fh.setFormatter(LogFormatter())
logger.addHandler(ch)
logger.addHandler(fh)

authorizer = DummyAuthorizer()
authorizer.add_user("xwp", "xwpxwp111", "d:/", perm="elradfmwM")
authorizer.add_anonymous(homedir="d:/")

handler = FTPHandler
handler.authorizer = authorizer
handler.passive_ports = range(2000, 2333)

dtp_handler = ThrottledDTPHandler
dtp_handler.read_limit = 30000 * 1024
dtp_handler.write_limit = 30000 * 1024
handler.dtp_handler = dtp_handler

server = FTPServer(("0.0.0.0", 21), handler)
server.max_cons = 150
server.max_cons_per_ip = 15
server.serve_forever()

后续应该会采用ini配置文件的形式来配置ftp服务器。

猜你喜欢

转载自blog.csdn.net/qq_46480020/article/details/129187891