使用 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中的面向对象和类的基本语法
Jun 13 Python
Python中使用platform模块获取系统信息的用法教程
Jul 08 Python
在Python中执行系统命令的方法示例详解
Sep 14 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
在Python dataframe中出生日期转化为年龄的实现方法
Oct 20 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python实现简单井字棋小游戏
Mar 05 Python
python 日志 logging模块详细解析
Mar 31 Python
python的pip有什么用
Jun 17 Python
pip install命令安装扩展库整理
Mar 02 Python
python中的sys模块和os模块
Mar 20 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
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
jquery多浏览器捕捉回车事件代码
2010/06/22 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
详解javascript遍历方式
2015/11/11 Javascript
详解Angularjs中的依赖注入
2016/03/11 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
python3之模块psutil系统性能信息使用
2018/05/30 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
韩都衣舍天猫官方旗舰店:天猫女装销售总冠军
2017/10/10 全球购物
什么是数组名
2012/05/10 面试题
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
夜大毕业自我鉴定
2013/10/11 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
2014年科研工作总结
2014/12/03 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python