使用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 用户登录验证的小例子
Mar 06 Python
Python的另外几种语言实现
Jan 29 Python
python操作sqlite的CRUD实例分析
May 08 Python
python复制文件的方法实例详解
May 22 Python
学习python之编写简单乘法口诀表实现代码
Feb 27 Python
对Python信号处理模块signal详解
Jan 09 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
python判断一个变量是否已经设置的方法
Aug 13 Python
Python Pandas模块实现数据的统计分析的方法
Jun 24 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 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
Typescript的三种运行方式(小结)
2019/09/18 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
2020/08/13 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
Python入门必须知道的11个知识点
2018/03/21 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
质检员的岗位职责
2013/11/15 职场文书
建材业务员岗位职责
2013/12/08 职场文书
中学生自我评价范文
2014/02/08 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
幼儿园见习总结
2015/06/23 职场文书
《日月潭》教学反思
2016/02/20 职场文书