用Python建立最简单的web服务器

本文介绍如何使用Python内置模块快速搭建本地Web服务器,并提供访问示例。文章涵盖三种Web服务器模块:BaseHTTPServer、SimpleHTTPServer 和 CGIHTTPServer 的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习完了python的基本语法,发现这真是一门简洁的语言,网上查找python的web开发,发现python的还可以使用很简单的方法自建web服务武器。

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:

  • python -m Web服务器模块 [端口号,默认8000]
例如:
  • python -m SimpleHTTPServer 8080

然后就可以在浏览器中输入

  • http://localhost:端口号/路径
来访问服务器资源。 
例如:
  • http://localhost:8080/index.htm(当然index.htm文件得自己创建)
其他机器也可以通过服务器的IP地址来访问。

    这里的“Web服务器模块”有如下三种:

    • BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
    • SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
    • CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。
    ### 创建一个简单的Python Web服务器 要创建一个基本的Python Web服务器,可以利用内置模块 `http.server` 和 `socketserver` 来实现。以下是完整的解决方案: #### 使用标准库构建简单HTTP服务器 通过以下代码片段,可以在本地启动一个基础的Web服务器[^4]。 ```python from http.server import SimpleHTTPRequestHandler import socketserver PORT = 8000 class MyHttpRequestHandler(SimpleHTTPRequestHandler): def do_GET(self): # 自定义GET请求处理逻辑 self.path = 'index.html' if self.path == '/' else self.path return SimpleHTTPRequestHandler.do_GET(self) with socketserver.TCPServer(("", PORT), MyHttpRequestHandler) as httpd: print(f"Serving at port {PORT}") httpd.serve_forever() ``` 上述代码实现了以下几个功能: - 定义了一个自定义处理器类 `MyHttpRequestHandler` 继承自 `SimpleHTTPRequestHandler`。 - 当接收到 GET 请求时,默认返回根目录下的文件 `index.html` 或者指定路径中的资源。 - 启动服务监听端口为 `8000` 并持续运行直到手动停止程序。 此方法无需安装额外依赖项即可快速搭建用于开发测试的小型静态网站托管环境[^5]。 #### 高级扩展:基于Flask框架的简易应用 如果需要更灵活的功能支持动态页面生成,则推荐采用轻量级微框架 Flask 构建应用程序实例[^6]: ```python from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "<h1>Hello, World!</h1><p>This is a simple web server built using Flask.</p>" if __name__ == '__main__': app.run(debug=True) ``` 这里展示了另一种方式来设置带有单一路由规则的服务入口点;当访问主页 "/" 路径时会显示一段HTML内容作为响应消息体的一部分。启用调试模式有助于开发者实时查看修改后的效果而不需要频繁重启进程[^7]。
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值