设计一个 Web服务器server.py
时间: 2024-09-15 10:13:33 浏览: 35
设计一个简单的Web服务器,我们可以使用Python内置的http.server模块。这个模块提供了一个易于使用的HTTP服务器,适合快速原型开发或者小型应用。下面是一个基本的`server.py`文件示例:
```python
from http.server import BaseHTTPRequestHandler, HTTPServer
# 创建一个自定义的请求处理类,继承自BaseHTTPRequestHandler
class CustomHandler(BaseHTTPRequestHandler):
def do_GET(self):
# 对GET请求的响应
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write(b'<h1>Hello, World! This is a simple Web server.</h1>')
# 处理其他HTTP方法,例如POST等
def do_POST(self):
content_length = int(self.headers['Content-Length'])
post_data = self.rfile.read(content_length)
self.send_response(200)
self.end_headers()
self.wfile.write(b'Post data received: {}'.format(post_data))
def run(server_class=HTTPServer, handler_class=CustomHandler, port=8000):
try:
server_address = ('', port)
httpd = server_class(server_address, handler_class)
print(f'Server running on port {port}')
httpd.serve_forever()
except KeyboardInterrupt:
print('\nServer stopped.')
httpd.socket.close()
# 运行服务器
run()
```
这个`server.py`启动了一个本地服务器,监听8000端口。当收到GET或POST请求时,它会返回一个简单的HTML响应或接收并显示POST数据。
阅读全文