使用 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 相关文章推荐
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
python中使用%与.format格式化文本方法解析
Dec 27 Python
python 函数内部修改外部变量的方法
Dec 18 Python
python实现顺时针打印矩阵
Mar 02 Python
python多线程抽象编程模型详解
Mar 20 Python
django做form表单的数据验证过程详解
Jul 26 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
Python万能模板案例之matplotlib绘制直方图的基本配置
Apr 13 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php查询操作实现投票功能
2016/05/09 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
微信小程序 蓝牙的实现实例代码
2017/06/27 Javascript
Vue实现带进度条的文件拖动上传功能
2018/02/23 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
详解Python中with语句的用法
2015/04/15 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python从函数参数类型引出元组实例分析
2019/05/28 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
django中的数据库迁移的实现
2020/03/16 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
Python基于callable函数检测对象是否可被调用
2020/10/16 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
英文自荐信常用句子
2014/03/26 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
电子商务专业毕业生自荐书
2014/06/22 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
国庆节慰问信
2015/02/15 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python