欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-15 15:31:38
simplehttpserver simplehttpserver是python自带的一个http服务类,通过使用它,我们能够在任意平台(window,linux,mac...

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服务和文件共享服务的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。