【问题标题】:Accessing $_GET and $_POST query string or form value equivalents in Python在 Python 中访问 $_GET 和 $_POST 查询字符串或表单值等价物
【发布时间】:2011-01-21 07:27:03
【问题描述】:

在 PHP 中,我可以像这样检索查询字符串中的值:

所以,如果请求 URI 是 http://example.com/index.php?foo=bar

<?php echo $_GET['foo']; //bar ?>

如何在 Python 中模拟上述代码? (并且不使用繁重的网络框架)

我找不到在 Python 中执行此操作的最简单方法的简单文档。是否有用于处理传入 HTTP 请求的标准 Python 库?我知道 Python 不是一种模板语言,但它在网络上的广泛使用表明应该有一种简单的方法来处理它。

【问题讨论】:

    标签: python environment-variables http-post http-get


    【解决方案1】:

    所有 Web 框架的做法都不同。正如您所说,Python 不是模板语言,因此没有自动处理 HTTP 请求的方法。

    有一个 cgi module 是标准库的一部分,您可以使用它通过 cgi.FieldStorage() 访问 POST 数据 - 但是通过标准 CGI 为应用程序提供服务效率非常低,并且仅适用于非常小规模的东西.

    一个更好的主意是使用一个简单的 WSGI 框架(WSGI 是使用 Python 为 Web 应用程序提供服务的标准)。有很多——我目前最喜欢的是flask,尽管我也听说过关于bottle 的好消息。

    【讨论】:

    • 我不太能破译烧瓶。你会如何在flask中实现上面的代码?
    • Flask 文档有a good example here
    • WSGI中使用PHP的$href = $_GET['cid'];有什么作用?我正在使用Bottle
    【解决方案2】:

    您的“非重型 Web 框架”通常应该向您传递一个请求参数,您可以从 request.GET 或类似的东西访问获取字符串。

    【讨论】:

      猜你喜欢
      • 2018-03-03
      • 2018-08-14
      • 1970-01-01
      • 1970-01-01
      • 2010-12-25
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多