欢迎访问宙启技术站
智能推送

使用wsgiref.simple_serverWSGIServer模块在Python中搭建简单的Web服务器

发布时间:2023-12-25 13:06:22

Python的wsgiref模块中的simple_server模块提供了一个简单的Web服务器,可以用来测试和开发简单的Web应用。WSGI服务器是一个符合WSGI协议的Web服务器,可以处理HTTP请求并生成HTTP响应。

以下是使用wsgiref.simple_server模块搭建简单Web服务器的基本步骤:

1. 导入必要的模块:

   from wsgiref.simple_server import make_server
   

2. 定义一个处理器函数(application)来处理请求:

   def application(environ, start_response):
       # 处理请求并生成响应
       response_body = 'Hello, World!'
       status = '200 OK'
       response_headers = [('Content-Type', 'text/plain'),
                           ('Content-Length', str(len(response_body)))]
       start_response(status, response_headers)
       return [response_body.encode()]
   

3. 创建一个WSGIServer对象,并绑定应用程序和服务器端口:

   host = 'localhost'
   port = 8000
   httpd = make_server(host, port, application)
   

4. 开始监听HTTP请求并处理:

   print(f'Serving on port {port}...')
   httpd.serve_forever()
   

完整的例子如下:

from wsgiref.simple_server import make_server

def application(environ, start_response):
    # 处理请求并生成响应
    response_body = 'Hello, World!'
    status = '200 OK'
    response_headers = [('Content-Type', 'text/plain'),
                        ('Content-Length', str(len(response_body)))]
    start_response(status, response_headers)
    return [response_body.encode()]

host = 'localhost'
port = 8000
httpd = make_server(host, port, application)

print(f'Serving on port {port}...')
httpd.serve_forever()

运行上述程序,将会搭建一个简单的Web服务器,监听本地8000端口。当有HTTP请求到达时,服务器将会调用application函数来处理请求,并返回一个"Hello, World!"的响应。

可以使用curl或者浏览器来发送HTTP请求并查看服务器的响应。例如,在命令行中运行以下命令:

curl http://localhost:8000

你将会看到服务器返回的"Hello, World!"响应。