赞
踩
你有没有想过,就在你的电脑上,用几行代码就能搭建一个服务器?没错,不需要复杂的Apache、Nginx,Python的http.server
模块就能让你快速起飞。今天,暴躁哥就带你快速入门!
简单!快!烦那些花里胡哨的东西?http.server
是你的最佳选择。不用装一堆乱七八糟的东西,Python自带的,开箱即用!
看这里,一行命令:
python -m http.server
完了,你的电脑现在就是个服务器了,端口是8000。打开浏览器,输127.0.01:8000
,看看是不是有东西?
如果你需要换一个端口, 比如8001。
你可以这样:
python -m http.server 8001
“这样太简单了,我要自定义!” 没问题!来自定义一个:
比如我们加上一个"/hello"路由。
- from http.server import HTTPServer, SimpleHTTPRequestHandler
-
- class MyHandler(SimpleHTTPRequestHandler):
- def do_GET(self):
- if self.path == '/hello':
- self.send_response(200)
- self.end_headers()
- self.wfile.write(b"Hello, world!")
- else:
- super().do_GET() # 其他请求就用默认的处理方式
-
- server_address = ('', 8008)
- httpd = HTTPServer(server_address, MyHandler)
- httpd.serve_forever()
再复杂点儿,需要加上简单的POST请求。
- import cgi
- from http.server import HTTPServer, SimpleHTTPRequestHandler
-
-
- class MyHandler(SimpleHTTPRequestHandler):
- def do_GET(self):
- if self.path == '/hello':
- self.send_response(200)
- self.end_headers()
- self.wfile.write(b"Hello, world!")
- else:
- super().do_GET() # 其他请求就用默认的处理方式
-
- def do_POST(self):
- if self.path == '/submit':
- form = cgi.FieldStorage(
- fp=self.rfile,
- headers=self.headers,
- environ={'REQUEST_METHOD': 'POST'}
- )
- message = form.getvalue('message')
- self.send_response(200)
- self.end_headers()
- response = f"Message received: {message}"
- self.wfile.write(response.encode())
- else:
- self.send_error(404, "File not found")
-
-
- if __name__ == '__main__':
- server_address = ('', 8008)
- print(f"server start at http://127.0.0.1:{server_address[1]}")
- httpd = HTTPServer(server_address, MyHandler)
- httpd.serve_forever()
POST数据到/submit
,服务器就会回你一条信息。
别闹了,这东西就是用来快速测试一些静态文件的。你要是真想建网站,还是老老实实用 Django 或 Flask 吧。
行了,你现在知道基本的用法了。去试试吧,别问我为什么不讲得更细致,暴躁哥时间宝贵,这些够你玩儿一阵子的了!
看见了吧,用Python的http.server
搭建服务器,简单快捷,不需要太多复杂操作。当然,这只是适合快速测试和学习,如果你想要更专业的服务器功能,还是需要使用专业的Web框架。别废话,赶紧去试试!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。