使用 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操作日期和时间的方法
Mar 11 Python
python实现定时同步本机与北京时间的方法
Mar 24 Python
pyshp创建shp点文件的方法
Dec 31 Python
python GUI实现小球满屏乱跑效果
May 09 Python
Python实现京东秒杀功能代码
May 16 Python
Python实现获取系统临时目录及临时文件的方法示例
Jun 26 Python
Django中的静态文件管理过程解析
Aug 01 Python
Python random库使用方法及异常处理方案
Mar 02 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
python如何求100以内的素数
May 27 Python
python实现录音功能(可随时停止录音)
Oct 26 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
杏林同学录(二)
2006/10/09 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
jQuery 动画基础教程
2008/12/25 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python探索之创建二叉树
2017/10/25 Python
python安装教程
2018/02/28 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
《盲人摸象》教学反思
2014/02/16 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
感谢信范文大全
2015/01/23 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
运动会800米赞词
2015/07/22 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
python创建字典及相关管理操作
2022/04/13 Python