使用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-Length、Set-Cookie等。此外,BaseHTTPRequestHandler还提供了其他方法,如do_POST用于处理POST请求,do_PUT用于处理PUT请求等。你可以根据需要重写这些方法来处理不同类型的请求。
