使用 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数据结构之单链表详解
Sep 12 Python
Python实现的购物车功能示例
Feb 11 Python
python中找出numpy array数组的最值及其索引方法
Apr 17 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
python中的常量和变量代码详解
Jul 25 Python
django基于存储在前端的token用户认证解析
Aug 06 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python3.x中安装web.py步骤方法
Jun 23 Python
Python 创建TCP服务器的方法
Jul 28 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
利用Python网络爬虫爬取各大音乐评论的代码
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
详解PHP数组赋值方法
2015/11/07 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
ECMAScript 基础知识
2007/06/29 Javascript
JS DOM 操作实现代码
2010/08/01 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
应用数学专业求职信
2014/03/14 职场文书
求职信格式要求
2014/05/23 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
大足石刻导游词
2015/02/02 职场文书
单位工作证明范本
2015/06/15 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
Redis安装启动及常见数据类型
2021/04/14 Redis
详解MySQL连接挂死的原因
2021/05/18 MySQL