+
69
-

python如何实现类似php的http动态脚本请求处理响应代码?

python如何实现类似php的http动态脚本请求处理响应代码?

放在一个根目录中,url请求处理

网友回复

+
16
-

在 Python 中,要实现类似 PHP 的“请求哪个脚本就执行哪个脚本”的动态 HTTP 脚本执行机制,有几种方式可以做到。以下是一个完整的实现思路(核心思想:解析 URL 路径,根据路径动态加载并执行对应的 Python 脚本文件):

示例目标:

当访问 http://localhost:8000/hello.py,服务器执行 hello.py 并返回它的输出内容(如同 PHP 一样)。

 实现方法:用 http.server + 动态加载执行

# dynamic_http_server.py
import os
import sys
import io
import traceback
from http.server import SimpleHTTPRequestHandler, HTTPServer
from urllib.parse import unquote

class DynamicScriptHandler(SimpleHTTPRequestHandler):
    def do_GET(self):
        path = unquote(self.path.lstrip('/'))

        # 只处理 .py 脚本文件请求
        if path.endswith(".py") and os.path.isfile(path):
            try:
                # 用独立的 namespace 执行脚本
                stdout = io.StringIO()
                sys.stdout = s...

点击查看剩余70%

我知道答案,我要回答