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

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

游戏|数码彩彩2024-03-18 7:46:21262A+A-

熟悉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服务器,帮助你在局域网共享文件

 

之后,我们在使用xftp工具登陆:

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

 

但此时,我们只是通过匿名用户anonymous,密码空的方式进行访问,只能使用ftp下载功能,而无法上传…

高级使用

简单的ftp搭建方式,肯定不满足我们的要求,那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:

简单的ftp搭建方式,肯定不满足我们的要求,那么我么就需要进行二次开发了!但也仅仅需要几行代码而已:

from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
authorizer = DummyAuthorizer()
authorizer.add_user('python', '123456', 'F:\Working~Study', perm='elradfmwM')
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(('0.0.0.0', 8888), handler)
server.serve_forever()
Python一秒搭建ftp服务器,帮助你在局域网共享文件

 

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

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈