• python开发ftp服务器第一天(pyftpdlib)


      学习了大约快一个月的python,现在开始有意识做一些项目。(我的新书《Python爬虫开发与项目实战》出版了,大家可以看一下样章

    据我了解,python现在更多的是用于自动化运维方面,例如做一些服务器上审计堡垒机,分布式监控,还有做web的后台开发。

    今天想在实验室搭建一个ftp服务器,用来分享一些资料,于是就想到了利用python来进行开发。

    ftp服务器的本质还是利用socket编程来实现,只不过遵循特定的协议而已,我查了一下协议是RFC959

    当然为了不重复造轮子,先看看有没有开源的lib,百度一下找到了pyftpdlib这个库,查看了一下这个库,发现代码量并不大,之后的博客打算进行源码分析。

    不过现在当然是快速的使用。

      首先当然是安装pyftpdlib,学过python的肯定知道使用 pip install pyftpdlib来安装。然后看了一些这个库的说明文档,就可以写代码了,也就15行左右。

    我使用的工具是pycharm,下面把代码附在下面有详细的注释。

    #coding:utf-8
    from pyftpdlib.authorizers import DummyAuthorizer
    from pyftpdlib.handlers import FTPHandler
    from pyftpdlib.servers import FTPServer
    #新建一个用户组
    authorizer = DummyAuthorizer()
    #将用户名,密码,指定目录,权限 添加到里面
    authorizer.add_user("fan", "root", "D:/", perm="elr")#adfmw
    #这个是添加匿名用户,任何人都可以访问,如果去掉的话,需要输入用户名和密码,可以自己尝试
    authorizer.add_anonymous("D:/")
    
    handler = FTPHandler
    handler.authorizer = authorizer
    #开启服务器
    server = FTPServer(("127.0.0.1", 21), handler)
    server.serve_forever()
    

    然后将程序运行起来,接下来看一下效果,在浏览器上ftp://localhost/

    nice,只要大家在同一个局域网之内就可以分享了.

    今天就到此为止,下一期对这个库进行源码分析,敬请期待

    本文章属于原创作品,欢迎大家转载分享,禁止修改文章的内容。尊重原创,转载请注明来自:七夜的故事 http://www.cnblogs.com/qiyeboy/
  • 相关阅读:
    CAP 与数据一致性
    C++的构造函数为何不能为虚函数
    构造函数和析构函数中可以调用调用虚函数吗
    HTTP状态码
    C++ 单例模式实现
    【转】十大经典排序算法
    C++ short/int/long/long long 等数据类型大小
    块/文件/对象三种存储的优缺点
    罗振宇《时间的朋友》2019-2020
    Google Hacking
  • 原文地址:https://www.cnblogs.com/qiyeboy/p/5230262.html
Copyright © 2020-2023  润新知