Python一秒搭建ftp服务器,帮助你在局域网共享文件

熟悉Python的朋友们都知道 , python自带了一个Simple HTTP Server , 可以使用一行代码完成文件的局域网共享操作 。

Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
 
首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study)  , 即进入到该目录下 , 然后:
  • python2: python -m SimpleHTTPServer port
  • python3: python -m http.server port
我是用一个8888的端口启动服务 , 最终的共享效果 , 如下图:
Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
 
通过一行代码 , 我们完成了文件共享的http服务 , 但这个服务有几个问题 , 仅提供了下载功能无法上传 , 最重要的是没有权限控制功能 , 这就极其不安全了!该如何解决这个问题呢?我之前用Flask写了一个功能更完善的httpserver:
Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
 
Ftp服务器搭建
模块安装
python没有内置ftp模块 , 但要使用它却很简单 , 我们只需要简单的通过pip安装即可:
pip install pyftpdlib简单共享
模块安装完成后 , 我们找到需要共享的目录 , 然后启动cmd后 , 输入:
python -m pyftpdlib -p 21之后浏览器登陆ftp://ip:port,这样就开启了一个最简单的ftp共享服务 。
首先我们使用浏览器登陆看下效果:
Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
【Python一秒搭建ftp服务器,帮助你在局域网共享文件】 
之后 , 我们在使用xftp工具登陆:
Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
 
但此时 , 我们只是通过匿名用户anonymous , 密码空的方式进行访问 , 只能使用ftp下载功能 , 而无法上传…
高级使用
简单的ftp搭建方式 , 肯定不满足我们的要求 , 那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:
简单的ftp搭建方式 , 肯定不满足我们的要求 , 那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:
from pyftpdlib.handlers import FTPHandlerfrom pyftpdlib.servers import FTPServerfrom pyftpdlib.authorizers import DummyAuthorizerauthorizer = DummyAuthorizer()authorizer.add_user('python', '123456', 'F:\Working~Study', perm='elradfmwM')handler = FTPHandlerhandler.authorizer = authorizerserver = FTPServer(('0.0.0.0', 8888), handler)server.serve_forever()
Python一秒搭建ftp服务器,帮助你在局域网共享文件

文章插图
 
不管是windows还是linux服务器下 , 你还能想到比python搭建FTP服务器更简单的方式吗?哈哈…




    推荐阅读