使用 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 19 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python中join()方法介绍
Oct 11 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
python实现简单图片物体标注工具
Mar 18 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
django admin后管定制-显示字段的实例
Mar 11 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 Python
Python MNIST手写体识别详解与试练
Nov 07 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
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
一些mootools的学习资源
2010/02/07 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python数据类型详解(一)字符串
2016/05/08 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
python中的itertools的使用详解
2020/01/13 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
普通简短的个人自我评价
2014/02/15 职场文书
法人授权委托书格式
2014/04/08 职场文书
优秀班组申报材料
2014/12/25 职场文书
二十年同学聚会感言
2015/07/30 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
新员工入职感言范文!
2019/07/04 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript