python で Web サーバーを構築する方法
Pythonで簡単なWebサーバーを作成するには、組み込みのhttp.serverモジュールを使用します。以下に基本的な例を示します。
import http.server
import socketserver
# 设置服务器的IP地址和端口号
host = "localhost"
port = 8000
# 创建一个简单的请求处理器类,继承自BaseHTTPRequestHandler
class MyHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
# 设置响应的状态码和头部信息
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
# 发送响应的内容
self.wfile.write(b"Hello, World!")
# 创建一个服务器对象,指定请求处理器类和监听的IP地址和端口号
with socketserver.TCPServer((host, port), MyHandler) as server:
# 启动服务器
server.serve_forever()
このスクリプトを実行すると、ブラウザで http://localhost:8000 にアクセスでき、「Hello, World!」というメッセージが表示されます。
これは非常に単純な例で、実際には、POST要求を処理するためのdo_POST()、HEAD要求を処理するためのdo_HEAD()など、MyHandlerクラスでさらに多くのメソッドを上書きすることができます。さらに、do_GET()メソッドで、ローカルファイルシステムからファイルの内容を読み取り、それを応答の内容としてクライアントに返すこともできます。
FlaskやDjangoなどのより高度なフレームワークは、より複雑なWebサーバーを構築するために使用できます(http.serverモジュールを使用する場合を除きます)。これらのフレームワークは、大規模または実稼働レベルのWebアプリケーションを作成するために使用するのに適している、より多くの機能や便利な開発ツールを提供します。