在Python中访问$ _GET和$ _POST查询字符串或表单值等价物

时间:2011-01-21 07:27:04

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

在PHP中,我可以在查询字符串中检索值,如下所示:

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

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

如何在Python中模拟上述代码? (而不是使用沉重的Web框架)

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

2 个答案:

答案 0 :(得分:3)

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

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

更好的想法是使用简单的WSGI框架(WSGI是使用Python提供Web应用程序的标准)。有很多 - 我目前最喜欢的是flask,虽然我也听到了关于bottle的好消息。

答案 1 :(得分:0)

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