首页 > 技术文章 > Python黑科技:6行代码轻松搭建FTP服务器

valorchang 2019-08-15 13:50 原文

Python 黑科技

六行代码轻松搭建个人FTP服务器

什么是FTP服务器?

FTP (File Transfer Protocol) 是一个用于客户端与服务器之间文件的协议。利用FTP我们就能做到在网络上共享文件:只要登陆到FTP服务器,客户端就可以在这个服务器中下载与上传文件。

 

例如,在寝室的局域网中,如果有一台电脑开启了FTP服务器,其他电脑(在有权限的情况下)就可以access这个服务器中共享的文件。

如何用Python搭建FTP服务器?

要实现这个功能,我们可以使用一个非常方便的库: pyftpdlib.

 

pip install pyftpdlib

 

然后就是实现功能的代码了。pyftpdlib的官方文档中给出了一个基础的应用案例,这里将把代码最简化。

from pyftpdlib.authorizers import

DummyAuthorizer

from pyftpdlib.handlers import FTPHandler

from pyftpdlib.servers import FTPServer

 

#实例化一个虚拟authorizer

 

authorizer = DummyAuthorizer()

 

#添加一个匿名用户,并给予其访问某共享#文件夹的权限(以D://folder为例)

 

authorizer.add_anonymous('D://folder')

 

#创建handler. 实例化一个FTPServer必须

#给定一个handler,这里按照文档的例子

#来就行。

 

handler = FTPHandler

handler.authorizer = authorizer

 

#开启服务器。

#YOUR_IP_ADDRESS是你本机的内网#IP,可以用命令行命令 ipconfig 查到。

#21是FTP协议的默认端口,一般不用修改。

 

server = FTPServer((YOUR_IP_ADDRESS, 21), handler)

server.serve_forever()

 

 

如何访问已被共享的文件夹?

打开任意浏览器,在地址栏输入

ftp://服务器的IP地址

 

以我的服务器为例。我用来搭建服务器电脑的内网IP是192.168.1.12,共享了ICS 32的project文件夹。可以看到在浏览器中文件被清楚地列了出来。

 

 

结尾

若想访问pyftpdlib的官方文档,请戳

https://pyftpdlib.readthedocs.io/en/latest/tutorial.html

 

想获取更多资讯,请关注CUCS官方微信公众号。

推荐阅读