Python实例题:Pvthon实现简单的Web服务器
目录
Python实例题
题目
方法一:使用http.server模块
代码解释
运行思路
方法二:使用Flask框架
代码解释
运行思路
注意事项
Python实例题
题目
Pvthon实现简单的Web服务器
方法一:使用http.server
模块
http.server
是 Python 内置的模块,可用于快速搭建一个简单的静态文件服务器。
import http.server
import socketserver# 定义服务器的端口
PORT = 8000# 创建一个请求处理类
Handler = http.server.SimpleHTTPRequestHandler# 使用 socketserver 创建一个 TCP 服务器
with socketserver.TCPServer(("", PORT), Handler) as httpd:print(f"服务器正在运行,监听端口 {PORT}")# 启动服务器,开始处理请求httpd.serve_forever()
代码解释
- 导入模块:导入
http.server
和socketserver
模块。 - 设置端口:定义服务器监听的端口号为 8000。
- 创建请求处理类:使用
SimpleHTTPRequestHandler
,它可以处理简单的 HTTP 请求并返回当前目录下的静态文件。 - 创建 TCP 服务器:使用
socketserver.TCPServer
创建一个 TCP 服务器,绑定到指定的地址和端口,并使用定义的请求处理类。 - 启动服务器:调用
serve_forever
方法启动服务器,开始处理客户端的请求。
运行思路
- 将上述代码保存为
simple_web_server_http.py
文件。 - 在终端中运行:
python simple_web_server_http.py
- 打开浏览器,访问
http://localhost:8000
,可以看到当前目录下的文件列表。
方法二:使用Flask
框架
Flask
是一个轻量级的 Web 框架,适合快速开发 Web 应用。
from flask import Flask# 创建 Flask 应用实例
app = Flask(__name__)# 定义路由和视图函数
@app.route('/')
def hello_world():return 'Hello, World!'if __name__ == '__main__':# 启动 Flask 应用app.run(debug=True)
代码解释
- 导入模块:导入
Flask
类。 - 创建应用实例:创建一个
Flask
应用实例。 - 定义路由和视图函数:使用
@app.route
装饰器定义一个路由/
,并定义对应的视图函数hello_world
,该函数返回一个字符串'Hello, World!'
。 - 启动应用:调用
app.run
方法启动 Flask 应用,设置debug=True
可以开启调试模式。
运行思路
- 安装
Flask
库:
pip install flask
- 将上述代码保存为
simple_web_server_flask.py
文件。 - 在终端中运行:
python simple_web_server_flask.py
- 打开浏览器,访问
http://localhost:5000
,可以看到页面显示Hello, World!
。
注意事项
- 使用
http.server
模块搭建的服务器主要用于提供静态文件服务,功能相对简单。 - 使用
Flask
框架可以方便地开发动态 Web 应用,但需要安装额外的库。在生产环境中,建议使用更专业的 Web 服务器,如 Gunicorn 或 uWSGI 来部署 Flask 应用。