使用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中Django框架下的staticfiles使用简介
May 30 Python
轻松实现python搭建微信公众平台
Feb 16 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
python executemany的使用及注意事项
Mar 13 Python
Python爬取当当、京东、亚马逊图书信息代码实例
Dec 09 Python
selenium+python实现自动登录脚本
Apr 22 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
python批量处理txt文件的实例代码
Jan 13 Python
关于Tensorflow 模型持久化详解
Feb 12 Python
python 调用Google翻译接口的方法
Dec 09 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获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
Node.js net模块功能及事件监听用法分析
2019/01/05 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
element-ui点击查看大图的方法示例
2020/12/14 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
python读取TXT到数组及列表去重后按原来顺序排序的方法
2015/06/26 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
Python如何实现转换URL详解
2019/07/02 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Django之PopUp的具体实现方法
2019/08/31 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
2020/03/06 Python
python如何写try语句
2020/07/14 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
python 实现图片批量压缩的示例
2020/12/18 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
html5 touch事件实现触屏页面上下滑动(一)
2016/03/10 HTML / CSS
业务经理岗位职责
2013/11/11 职场文书
升国旗仪式主持词
2014/03/19 职场文书
党课培训主持词
2014/04/01 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python