Skip to main content
 首页 » 编程设计

python之在没有框架的情况下在 Python 中获取当前请求的 URL

2025年05月04日10dudu

我试图在不使用网络框架的情况下获取已在 Python 中请求的 URL。

例如,在一个页面(比方说/main/index.html)上,用户点击一个 URL 转到/main/foo/bar(/foo/bar 不存在)。 Apache(带有 mod_wsgi)然后将用户重定向到位于/main/的 PHP 脚本,然后该脚本获取 url 并在 MySQL 中搜索任何匹配的字段。然后返回该字段的其余部分。这对 PHP 有帮助:

$_SERVER["REQUEST_URI"]; 

我宁愿不使用 PHP,因为在数据库结构不断变化的情况下维护 PHP 代码变得越来越困难。

我很确定有更好的方法,任何提及都将不胜感激。为了相关性,这是否可能(以 Python 获取请求的 URL)?我是否应该只使用一个框架,虽然它看起来很简单?

提前致谢

杰米

注意:出于安全目的,我不想使用 GET。

请您参考如下方法:

好吧,如果您将程序作为 CGI 脚本运行,您可以在 os.environ 中获得相同的信息。但是,如果我没记错的话,REQUEST_URI 本身并不是 CGI 标准的一部分,您需要使用 os.environ['SCRIPT_NAME'],os. environ['PATH_INFO'] 和 os.environ['QUERY_STRING'] 获取等效数据。

但是,我强烈建议你去看看一些轻量级的框架,比如 Pyramid。使用 Python 的普通 CGI 速度很慢,而且通常很痛苦。