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方式请求