Python中用于FTP服务器的简单代码

6
我想在Python中构建一个简单的FTP服务器,只需为客户端提供下载文本文件的服务。请问有没有什么最好的学习材料可以参考,并帮助我找到一些代码片段?

必须使用FTP吗?HTTP会简单得多。 - Ignacio Vazquez-Abrams
3个回答

4
我可以推荐在Github上托管的pyftpdlib 示例:
>>> from pyftpdlib.authorizers import DummyAuthorizer
>>> from pyftpdlib.handlers import FTPHandler
>>> from pyftpdlib.servers import FTPServer
>>>
>>> authorizer = DummyAuthorizer()
>>> authorizer.add_user("user", "12345", "/home/giampaolo", perm="elradfmw")
>>> authorizer.add_anonymous("/home/nobody")
>>>
>>> handler = FTPHandler
>>> handler.authorizer = authorizer
>>>
>>> server = FTPServer(("127.0.0.1", 21), handler)
>>> server.serve_forever()
[I 13-02-19 10:55:42] >>> starting FTP server on 127.0.0.1:21 <<<
[I 13-02-19 10:55:42] poller: <class 'pyftpdlib.ioloop.Epoll'>
[I 13-02-19 10:55:42] masquerade (NAT) address: None
[I 13-02-19 10:55:42] passive ports: None
[I 13-02-19 10:55:42] use sendfile(2): True
[I 13-02-19 10:55:45] 127.0.0.1:34178-[] FTP session opened (connect)
[I 13-02-19 10:55:48] 127.0.0.1:34178-[user] USER 'user' logged in.
[I 13-02-19 10:56:27] 127.0.0.1:34179-[user] RETR /home/giampaolo/.vimrc completed=1 bytes=1700 seconds=0.001
[I 13-02-19 10:56:39] 127.0.0.1:34179-[user] FTP session closed (disconnect).

2

再次感谢您...整个一天我在Google上寻找FTP示例代码,但是都没有成功...您让我的工作变得更简单了...非常感谢您... - Nilesh Nar

0

这个可能是你能找到的最好的理解FTP协议的方法。一旦你理解了机制,实现起来应该相当简单。


我已经了解了FTP协议的细节,但是使用它的实现方式有些不同。我想要一个简单的示例代码来了解一些相关的内容。 - Nilesh Nar
@Nilesh Nar:提供了一个使用Twisted的示例。 - pyfunc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接