利用Python SimpleHTTPServer快速搭建本地HTTP与文件共享服务

拾光
拾光
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍如何使用Python内置的SimpleHTTPServer模块,在Windows、Linux和MacOS平台上快速搭建HTTP服务和文件共享目录。通过命令行指定端口即可启动服务,支持GET请求访问文件内容。此外,文章还探讨了在多人协作开发中利用该服务进行接口Mock以加速联调的方法,并提供了针对Python 2.7.10环境下不支持POST方法的简单修改方案,实现POST请求支持。

SimpleHTTPServer

SimpleHTTPServer是Python标准库中内置的一个HTTP服务类。借助它,我们可以在Windows、Linux或MacOS等任意平台上,仅需安装Python环境,即可快速搭建一个HTTP服务并实现文件共享功能。

如何使用

若要开启一个运行在特定端口上的文件共享服务,可以执行如下命令

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 相关产品和应用

全部下载

专题列表