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

使用BaseHTTPRequestHandler处理HTTP响应头的示例代码

发布时间:2023-12-24 07:25:42

下面是使用BaseHTTPRequestHandler处理HTTP响应头的示例代码:

from http.server import BaseHTTPRequestHandler, HTTPServer

# 定义一个处理请求的类,继承自BaseHTTPRequestHandler
class MyHTTPRequestHandler(BaseHTTPRequestHandler):

    # 处理GET请求
    def do_GET(self):
        # 设置响应头
        self.send_response(200)  # 设置响应状态码
        self.send_header('Content-type', 'text/html')  # 设置响应内容的类型
        self.end_headers()  # 结束响应头

        # 发送响应内容
        self.wfile.write(b'Hello, World!')

# 创建一个HTTP服务器,并指定请求处理类
server = HTTPServer(('localhost', 8000), MyHTTPRequestHandler)
# 启动服务器
server.serve_forever()

上面的代码创建了一个HTTP服务器,并指定了请求处理类MyHTTPRequestHandler。在do_GET方法中,我们首先使用send_response方法设置响应状态码为200,然后使用send_header方法设置响应内容的类型为text/html,最后使用end_headers方法结束响应头部的设置。

在上述示例中,我们设置了响应状态码为200,响应内容的类型为text/html,并发送了一个字符串'Hello, World!'作为响应内容。

你可以按照以下步骤运行这个示例代码:

1. 将上述代码保存为一个.py文件,比如server.py

2. 打开一个终端窗口,进入到保存代码的目录。

3. 在终端中运行python server.py,启动HTTP服务器。

4. 在浏览器中访问http://localhost:8000,你将会看到浏览器显示Hello, World!

这是一个简单的示例,你可以根据实际需求设置更多的响应头信息,如Content-LengthSet-Cookie等。此外,BaseHTTPRequestHandler还提供了其他方法,如do_POST用于处理POST请求,do_PUT用于处理PUT请求等。你可以根据需要重写这些方法来处理不同类型的请求。