“老板 来碗面”

“要啥面?”

“内牛满面..”

最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了。搞开发的都知道,最怕弄这种项目portal的东西,你调用一堆东西,结果各种调用报错都反馈到你这里,导致的结果就是除了啥问题都找你。

最形象的比喻就是,眼前一栋楼,你是看门的。电梯坏了找你、住户被盗了找你、连谁家下水不通了也找你,各种无厘头的破事儿,我就想送出一张图…

共享文件

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

首先进入你需要设置的http服务器目录 (我以自己电脑路径:F:/Working~Study) ,即进入到该目录下,然后:

python2: python -m SimpleHTTPServer port

python3: python -m http.server port

我是用一个8888的端口启动服务,最终的共享效果,如下图:

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

喜欢的朋友可以去看看这篇历史文章: https://www.jianshu.com/p/a5c4dca321f2

通过自己编码的方式实现了相关功能,但是能否想httpserver一样更快速的搭建一个文件共享服务器呢?此时,你应该想到ftp服务器!没错,ftp服务器不仅可以达到文件共享的大前提,还能通过设置用户名密码的方式来实现权限管理。用Python实现它麻烦么?不麻烦,也只需要一行代码!

Ftp服务器搭建

模块安装

python没有内置ftp模块,但要使用它却很简单,我们只需要简单的通过pip安装即可:

pip install pyftpdlib

简单共享

模块安装完成后,我们找到需要共享的目录,然后启动cmd后,输入:

python -m pyftpdlib -p 21

之后浏览器登陆ftp://ip:port,这样就开启了一个最简单的ftp共享服务。

首先我们使用浏览器登陆看下效果:

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

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

高级使用

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

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

# -*- coding: utf-8 -*-

# @Author : 王翔

# @JianShu : 清风Python

# @Date : 2019/8/30 1:26

# @Software : PyCharm

# @version :Python 3.7.3

# @File : PythonFtp.py

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()

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

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。

期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。

python 局域网服务器_Python一秒搭建ftp服务器,帮助你在局域网共享文件相关推荐

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

    "老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...

  2. XP系统如搭建ftp服务器,XP系统如搭建ftp服务器

    XP系统如搭建ftp服务器 内容精选 换一换 ISO是一种光盘映像文件,通过特定的压缩方式,将大量的数据文件统一为一个后缀名为iso的映像文件.ISO文件可以理解为从光盘中复制出来的数据文件,所以IS ...

  3. 《工具箱-服务器相关》Linux搭建FTP服务器

    Linux搭建FTP服务器 一.FTP介绍 FTP服务:实现ftp的一个服务,安装vsftpd软件即可搭建ftp服务器 FTP协议:文件传输协议(file transfer protocol),在不同 ...

  4. es文件浏览器web服务器,es文件浏览器 搭建ftp服务器

    es文件浏览器 搭建ftp服务器 内容精选 换一换 简要介绍WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统).语言:PHP一句话描述:一款免费的C ...

  5. win7局域网自建ftp服务器,win7系统搭建FTp服务器局域网内传输文件的解决教程

    win7系统使用久了,好多网友反馈说win7系统搭建FTp服务器局域网内传输文件的问题,非常不方便.有什么办法可以永久解决win7系统搭建FTp服务器局域网内传输文件的问题,面对win7系统搭建FTp ...

  6. 如何在局域网内搭建FTP服务器,实现信息共享

    如何在局域网内搭建FTP服务器,实现信息共享 首先打开控制面板,点击程序 点击程序,点击启用或关闭windows功能,找到lnternet lnformation Services 点击前面小&quo ...

  7. 【计算机网络课程设计】内网穿透、搭建FTP服务器(局域网和广域网)以及对于花生壳发送X11包得一些推测

    搭建FTP服务器.对X11包的推测 FTP概述 一.FTP工作模式及传输模式 FTP工作模式 1.主动模式 2.被动模式 FTP传输模式 1.ASCLL传输模式 2.二进制数据传输模式 二.FTP服务 ...

  8. python --搭建FTP服务器

    一.了解FTP服务器 二.利用python搭建FTP服务器 1.安装 pyftpdlib 模块 2.找到pyftpdlib模块源文件所在目录 3.到 pyftpdlib目录下 4. 编写并运行FTP代 ...

  9. 阿里云 Windows Server 2012 R2 使用FileZilla Server 快速搭建FTP服务器

    最近,需要在Windows Server 2012 R2环境中搭建FTP服务器,最后决定使用FileZilla Server来进行搭建. 对了,21  20端口歹开啊. 目录 1.下载 2.安装 3. ...

最新文章

  1. 计算机科学与技术历史步伐,计算机科学与技术1001班先进班级体申报材料.pdf
  2. LazyProphet:使用 LightGBM 进行时间序列预测
  3. CPU实模式和保护模式、全局描述符表GDT、Linux内核中GDT和IDT的结构定义
  4. TensorFlow2-神经网络训练
  5. python实现共空间模式CSP
  6. IntelliJ IDEA 的项目配置和Web部署,终于搞懂了!
  7. IOS开发 百度语音实现播报及IOS12.1后的播报功能问题与实现
  8. SDRAM 控制器(七)——控制模块
  9. Python Playsound用法_艾孜尔江撰
  10. Python基础之文件操作
  11. 计算机组成原理————寄存器寻址方式大总结
  12. 剧本写作app——Final Draft,帮你创建专业的主流编剧格式!
  13. Windows常见基本进程八:wuauclt
  14. 爬虫实现自动登陆抽屉网,实现对文章点赞,收藏,评论
  15. vue slideup_像jQuery的slideUp / slideDown一样,但是对于Vue
  16. 【Android+Kotlin】自适应CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout与Palette
  17. 人工智能是怎么用在人脸识别上的?
  18. 实践中如何优化MySQL
  19. 电脑连接热点无internet访问权限_电脑连接无线网,显示无网络访问权限
  20. 从软件生命周期看应用安全(网络安全)

热门文章

  1. web 请求 编码 引发的问题
  2. Linux 命令(119)—— diff 命令
  3. Linux 命令(92)—— locate 命令
  4. C++引用计数(reference counting)技术简介(2)
  5. 爱的十个秘密--3.尊重的力量
  6. ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
  7. MySQL8.0.11的安装和Navicat连接mysql
  8. 跨域资源请求(除jsonp以外)的方法
  9. Linux中变量#,@,0,1,2,*,$$,$?的意思
  10. ERP产品销售发货判断库存功能(四十二)