使用Python快速搭建HTTP服务和文件共享服务的实例讲解


Posted in Python onJune 04, 2018

SimpleHTTPServer

SimpleHTTPServer是Python自带的一个HTTP服务类,通过使用它,我们能够在任意平台(Window,Linux,MacOS)快速搭建一个HTTP服务和共享服务,只需要安装Python环境即可

如何使用

如果你想开启一个运行在特定端口上的文件共享服务,可以执行如下命令

python -m SimpleHTTPServer [port]

这将会把当前目录下的文件和目录显示出来,如果我们不指定端口,默认为8000

当然上述命令也开启了一个HTTP服务,假设当前运行目录下由一个文件test,那么我们可以这样请求

curl "http://localhost:8000/test" -v

请求结果为test里面的内容

用途

软件开发过程都是多人协作的,当我们在开发项目依赖于其他人的HTTP接口的时候,我们可以使用SimpleHTTPServer来对依赖的接口进行mock,这样能够加快联调的速度,及早的调试出程序的问题。一般我们的文件中使用json串来模拟结果

不足

python系统自带的SimpleHTTPServer只支持GET和HEAD方法,不支持POST方法(测试环境为python 2.7.10),需要进行简单的修改

#部分源码
def do_GET(self):
 """Serve a GET request."""
 f = self.send_head()
 if f:
 try:
 self.copyfile(f, self.wfile)
 finally:
 f.close()

def do_HEAD(self):
 """Serve a HEAD request."""
 f = self.send_head()
 if f:
 f.close()

我们可以将SimpeHTTPServer方法复制一份,然后在里面实现do_POST方法即可

def do_POST(self):
 """Serve a POST request."""
 self.do_GET()

将文件保存后运行,即可支持POST方式请求

使用Python快速搭建HTTP服务和文件共享服务的实例讲解

以上这篇使用Python快速搭建HTTP服务和文件共享服务的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python实现strcmp函数功能示例
Mar 25 Python
Python读取Excel的方法实例分析
Jul 11 Python
python批量替换页眉页脚实例代码
Jan 22 Python
编写多线程Python服务器 最适合基础
Sep 14 Python
用pycharm开发django项目示例代码
Jun 13 Python
python3 反射的四种基本方法解析
Aug 26 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
Python 如何展开嵌套的序列
Aug 01 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
记录一下scrapy中settings的一些配置小结
Sep 28 Python
python设置中文界面实例方法
Oct 27 Python
python最长回文串算法
Jun 04 #Python
python中字符串的操作方法大全
Jun 03 #Python
Python Logging 日志记录入门学习
Jun 02 #Python
python实现寻找最长回文子序列的方法
Jun 02 #Python
python实现对求解最长回文子串的动态规划算法
Jun 02 #Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 #Python
用Python一键搭建Http服务器的方法
Jun 01 #Python
You might like
php语言流程控制中的主动与被动
2012/11/05 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
jQuery事件用法详解
2016/10/06 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python数据可视化之画图
2019/01/15 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
python实现控制COM口的示例
2019/07/03 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
利用Python优雅的登录校园网
2020/10/21 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
学期研究性学习个人的自我评价
2014/01/09 职场文书
小学教师寄语大全
2014/04/03 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
总结Python常用的魔法方法
2021/05/25 Python