📅  最后修改于: 2023-12-03 15:18:55.758000             🧑  作者: Mango
Python 是一种流行的编程语言,具有广泛的应用领域,其中一个应用就是作为 HTTP 服务器。Python 的内置模块 http.server
提供了一个基本的 HTTP 服务器实现,允许您通过浏览器访问您的本地文件系统、运行 python 脚本等功能。除了内置模块之外,还有很多第三方模块可以用于构建全功能的 HTTP 服务器,如 Flask,Django 等。下面,我们将介绍如何使用 http.server
启动一个简单的 HTTP 服务器。
要启动 Python HTTP 服务器,您必须拥有 Python 环境。请前往 Python 官网 下载并安装最新版本的 Python。
以下是使用 http.server
模块启动基本的 HTTP 服务器的示例代码:
import http.server
import socketserver
PORT = 8080 # 选择一个可用的端口
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("服务器已启动:http://localhost:{}/".format(PORT))
httpd.serve_forever()
将上面的代码保存为 .py
文件并运行,你将看到类似以下的输出:
服务器已启动:http://localhost:8080/
现在,您可以使用您喜爱的 Web 浏览器访问 http://localhost:8080/ 并浏览您的文件系统了。
如果您需要启用 HTTPS 支持,可以使用 ssl
模块并在 TCPServer
构造函数中传递 SSL 上下文。以下代码演示如何启用 HTTPS。
import http.server
import ssl
import socketserver
PORT = 8443
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
print("服务器已启动:https://localhost:{}/".format(PORT))
httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True,
certfile="cert.pem", keyfile="key.pem")
httpd.serve_forever()
请注意,您需要从任何可信的 CA 或自己构建的证书颁发机构处获得有效的 SSL 证书和密钥文件 (cert.pem
和 key.pem
)。
在本教程中,我们使用 Python 的内置模块 http.server
启动了一个基本的 HTTP 服务器。您还学习了如何使用 SSL 在服务器上启用 HTTPS。Python HTTP 服务器是一个强大的工具,可以用于多种用途,如测试应用程序等。