首页 > 编程语言 > 详细

python 搭建ftp服务器

时间:2020-05-14 23:02:02      阅读:55      评论:0      收藏:0      [点我收藏+]

使用python编写一个ftp服务器

 

 1 #! /usr/bin/env
 2 # -*- encoding:utf-8 -*=
 3 ‘‘‘
 4 Created on 2020年5月14日
 5 
 6 @author: perilong
 7 ‘‘‘
 8 
 9 import os
10 import configparser
11 # import socket
12 from pyftpdlib.authorizers import DummyAuthorizer
13 from pyftpdlib.handlers import FTPHandler
14 from pyftpdlib.servers import FTPServer
15 
16 
17 __ip = ‘‘
18 __username = ‘‘
19 __password = ‘‘
20 __path = ‘‘
21 __port = -1
22 
23 
24 def __getConfig():
25     global __username,__password,__path,__port
26     config = configparser.ConfigParser()
27     config.read(config.ini)
28     
29     # 获取参数
30     __username = config.get(auth, username)
31     __password = config.get(auth, password)
32     __path = config.get(serverpath, path)
33     __port = config.get(port, port)
34     
35     # 如果没有则创建目录
36     if not os.path.exists(__path):
37         os.makedirs(__path)
38     
39 
40 
41 def __getLocalIp():
42     #     hostname = socket.gethostname()
43     #     __ip = socket.gethostbyname(hostname)
44     global __ip
45     
46     ipList = []
47     returnMesg = os.popen(ipconfig -all).read()
48     msgList = returnMesg.split(\n)
49     for msg in msgList:
50         if ipv4 in msg.lower():
51             ipList.append(msg.split(:)[1].split(()[0].strip()) 
52     
53     # 如果只有一个ip,则直接使用
54     if len(ipList) == 1:
55         __ip = ipList[0]
56         return
57     
58     for ip in ipList:
59         if 192.168.1. in ip:
60             __ip = ip 
61             break
62     
63 
64 def __ftpStart():
65     #实例化用户授权管理
66     authorizer = DummyAuthorizer()
67     authorizer.add_user(__username,__password,__path,perm=elradfmwMT) #添加用户 参数:username,password,允许的路径、权限
68 
69     #实例化FTPHandle
70     handler = FTPHandler
71     handler.authorizer = authorizer
72 
73     #设定一个客户端链接时的标语
74     handler.banner = pyftplib based ftpd ready.
75 
76     server = FTPServer((__ip, __port), handler)  #FTP服务器实例
77     #设定一个限制连接
78     server.max_cons = 256
79     server.max_cons_per_ip = 5
80 
81     #开启服务器
82     server.serve_forever()
83     
84 
85 
86 if __name__ == __main__:
87     __getConfig()
88     __getLocalIp()
89     __ftpStart()

 

python 搭建ftp服务器

原文:https://www.cnblogs.com/perilong16/p/12891761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!