使用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实现对一个完整url进行分割的方法
Apr 29 Python
python从入门到精通(DAY 1)
Dec 20 Python
Python和JavaScript间代码转换的4个工具
Feb 22 Python
python实现杨辉三角思路
Jul 14 Python
python之消除前缀重命名的方法
Oct 21 Python
python中web框架的自定义创建
Sep 08 Python
Pandas聚合运算和分组运算的实现示例
Oct 17 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
python使用信号量动态更新配置文件的操作
Apr 01 Python
详解Python高阶函数
Aug 15 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 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入库和出库
2013/06/25 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
PHP实现微信提现功能
2018/09/30 PHP
基于jquery1.4.2的仿flash超炫焦点图播放效果
2010/04/20 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
TensorFlow Session使用的两种方法小结
2018/07/30 Python
pyqt5实现登录界面的模板
2020/05/30 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
德国购买健身器材:AsVIVA
2017/08/09 全球购物
编辑硕士自荐信范文
2013/11/27 职场文书
农民入党思想汇报
2014/01/03 职场文书
2014年妇女工作总结
2014/12/06 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
教代会闭幕词
2015/01/28 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
干部培训工作总结2015
2015/05/25 职场文书
公司食堂管理制度
2015/08/05 职场文书
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
部分武汉产收音机展览
2022/04/07 无线电
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL