使用 Python 快速实现 HTTP 和 FTP 服务器的方法


Posted in Python onJuly 22, 2019

有时你需临时搭建一个简单的 Web Server,但你又不想去安装 ApacheNginx 等这类功能较复杂的 HTTP 服务程序时。这时可以使用 Python 内建的 SimpleHTTPServer 模块快速搭建一个简单的 HTTP 服务器。

SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的 Web 页面的方式展示出来。假设我们需要以 Web 方式共享目录 /Users/Mike/Docker,只需要以下这个命令行就可以轻松实现:

$ cd /Users/Mike/Docker
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

SimpleHTTPServer 模块默认会在 8000 端口上监听一个 HTTP 服务,这时就可以打开浏览器输入 http://IP:Port 访问这个 Web 页面。例如类似下面的 URL:

http://192.168.100.49:8000

如果你需要 Web 服务有一个默认页,可以在目录下创建一个名为 index.html 的文件。如果没有默认页,那么会以列表的形式将目录中的内容显示出来。

如果默认的 8000 端口已经被占用,你想换成使用其它端口号,可以使用如下的命令:

$ python -m SimpleHTTPServer 8080

用 Python 快速实现 FTP 服务器

有时当你想快速搭建一个 FTP 服务器来临时实现文件上传下载时,这是特别有用的。我们这里利用 PythonPyftpdlib 模块可以快速的实现一个 FTP 服务器的功能。

首先安装 Pyftpdlib 模块

$ sudo pip install pyftpdlib

通过 Python-m 选项将 Pyftpdlib 模块作为一个简单的独立服务器来运行,假设我们需要共享目录 /Users/Mike/Docker,只需要以下这个命令行就可以轻松实现:

$ cd /Users/Mike/Docker
$ python -m pyftpdlib
[I 2018-01-02 16:24:02] >>> starting FTP server on :::2121, pid=7517 <<<
[I 2018-01-02 16:24:02] concurrency model: async
[I 2018-01-02 16:24:02] masquerade (NAT) address: None
[I 2018-01-02 16:24:02] passive ports: None

至此一个简单的 FTP 服务器已经搭建完成,访问 ftp://IP:PORT 即可。例如类似下面的 URL:

总结

以上所述是小编给大家介绍的用 Python 快速实现 HTTP 和 FTP 服务器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
python使用udp实现聊天器功能
Dec 10 Python
解决python3运行selenium下HTMLTestRunner报错的问题
Dec 27 Python
WxPython建立批量录入框窗口
Feb 27 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
Python3远程监控程序的实现方法
Jul 15 Python
使用python模拟命令行终端的示例
Aug 13 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
Python os模块常用方法和属性总结
Feb 20 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 #Python
python多进程下实现日志记录按时间分割
Jul 22 #Python
Django框架自定义模型管理器与元选项用法分析
Jul 22 #Python
python实现日志按天分割
Jul 22 #Python
python re.sub()替换正则的匹配内容方法
Jul 22 #Python
简单了解python gevent 协程使用及作用
Jul 22 #Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 #Python
You might like
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
PHP与已存在的Java应用程序集成
2006/10/09 PHP
php5.2时间相差8小时
2007/01/15 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
地震发生中逃生十大法则
2008/05/12 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
微信小程序:报错(in promise) MiniProgramError
2020/10/30 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Django返回json数据用法示例
2016/09/18 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
python实现简单的五子棋游戏
2020/09/01 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
应聘护理专业毕业自荐书范文
2014/02/12 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript
Python find()、rfind()方法及作用
2022/12/24 Python