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

使用BaseHTTPServer.BaseHTTPRequestHandlerhandle()处理HTTP请求的示例

发布时间:2024-01-08 17:58:54

下面是使用BaseHTTPRequestHandler的示例代码:

from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

# 定义请求处理类
class MyHandler(BaseHTTPRequestHandler):
    
    # 处理GET请求
    def do_GET(self):
        # 返回响应头
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
        
        # 返回响应内容
        self.wfile.write('Hello, World!')

# 创建服务器实例
server = HTTPServer(('localhost', 8000), MyHandler)

# 启动服务器
server.serve_forever()

上述代码创建了一个基于HTTPServer的服务器,并使用自定义的处理类MyHandler来处理请求。在MyHandler中,我们重写了do_GET方法,用于处理GET请求。当收到GET请求时,我们发送200的响应状态码,并设置Content-typetext/html。然后,我们发送响应头和响应内容,这里是一个简单的"Hello, World!"。

可以通过运行上述代码,并在浏览器中访问http://localhost:8000来查看示例的效果。浏览器将收到服务器发送的"Hello, World!"作为响应。

除了do_GET,BaseHTTPRequestHandler还提供了其他方法来处理不同类型的HTTP请求,如do_POSTdo_HEAD等。您可以根据实际需求进行重写。例如,如果您想要处理POST请求,可以添加以下方法到MyHandler类中:

def do_POST(self):
    # 处理POST请求
    pass

然后根据具体需求编写处理POST请求的逻辑。同样,您还可以重写其他方法,以满足您的需求。

这只是BaseHTTPRequestHandler的基本用法示例,您可以根据实际需要进行更复杂的处理。