使用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分割TXT文件成4K的TXT文件
May 23 Python
Python写的贪吃蛇游戏例子
Jun 16 Python
python快速查找算法应用实例
Sep 26 Python
python中sys.argv参数用法实例分析
May 20 Python
Python 3中的yield from语法详解
Jan 18 Python
TensorFlow安装及jupyter notebook配置方法
Sep 08 Python
python代码实现ID3决策树算法
Dec 20 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
PyQt5 QTable插入图片并动态更新的实例
Jun 18 Python
Python调用C语言的实现
Jul 26 Python
Python 捕获代码中所有异常的方法
Aug 03 Python
利用python查看数组中的所有元素是否相同
Jan 08 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
学习PHP session的传递方式
2016/06/15 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
2011/11/15 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
使用python接入微信聊天机器人
2020/03/31 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
露营世界:Camping World
2017/02/02 全球购物
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
学生个人求职自荐信格式
2013/09/23 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
自强之星事迹材料
2014/05/12 职场文书
英语系本科生求职信
2014/07/15 职场文书
招标承诺书
2014/08/30 职场文书
课外访万家心得体会
2014/09/03 职场文书
会议室使用管理制度
2015/08/06 职场文书
PHP实现两种排课方式
2021/06/26 PHP
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server