Python库http.server中的类BaseHTTPRequestHandler的成员变量path的意义及简单示例代码
Python库http.server中的类BaseHTTPRequestHandler的成员变量path的意义及简单示例代码
以下是一个简单的示例代码,演示了如何使用 BaseHTTPRequestHandler 处理 HTTP 请求并打印请求路径:
from http.server import BaseHTTPRequestHandler, HTTPServer
class MyRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
# 打印请求路径
print(self.path)
# 发送响应
self.send_response(200)
self.end_headers()
self.wfile.write(b'Hello, World!')
if __name__ == '__main__':
# 创建 HTTP 服务器,并指定请求处理器
server = HTTPServer(('localhost', 8000), MyRequestHandler)
print('Starting server, listening on http://localhost:8000')
# 启动服务器
server.serve_forever()
在上面的这个例子中:
我们定义了一个名为 MyRequestHandler 的子类,继承了 BaseHTTPRequestHandler。
我们覆盖了 do_GET() 方法,以实现对 HTTP GET 请求的处理。在这个方法中,我们使用 self.path 打印了请求的路径,并发送了一个简单的响应。
最后,我们创建了一个 HTTP 服务器,并将请求处理器设置为 MyRequestHandler。通过调用 serve_forever() 方法来启动服务器,以便能够处理传入的 HTTP 请求。
运行上面的代码后,控制台的输出如下:
当我们在浏览器中输入下面这个路径时:
http://localhost:8000/suwenhao15
立即得到以下的结果:
当我们在浏览器中输入下面这个路径时:
http://localhost:8000/search?q=python
得到下面的结果:
但是如果输入的URL路径比较长时,就反应很慢,要等几分钟才能出结果,不知道是怎么回事儿,比如下面这个:
http://localhost:8000/search?q=python+programming
暂且不管上面这个问题,通过实验,我们可以发现库http.server中的类BaseHTTPRequestHandler的成员变量path存储的内容是什么:即一个URL路径中,主机之后的字符串,包括字符“/”哦。

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)