如果变量多次出现,如何获取请求值?

时间:2012-11-15 12:40:17

标签: python request pyramid

例如,URL请求如下:

http://any-server.org/cgi-bin/test.cgi?a=1&b=2&b=20&b=200

是否有可能在CGI或任何Web框架中将b的三个值作为列表[2,20,200]

谢谢!

2 个答案:

答案 0 :(得分:8)

使用.getall()

b = request.GET.getall('b')  # ['2', '20', '200']

.getall()MultiDict类的方法; request的各种参数,包括.GET.POST.params都是MultiDict个实例。 WebOb project documentation(金字塔请求所基于的)可以提供更多信息。

答案 1 :(得分:-1)

您使用的是哪种语言?

上面的内容将按照您的预期在.NET中运行,我期望在php和其他语言中类似。

//扩大了反馈后的答案

ASP.NET似乎将值分组为逗号分隔列表,但实际执行此操作的方式应为file.html?a=1&b[]=1&b[]=2&b[]3。然后应该由服务器将其转换为值数组。

您也可以使用file.html?a=1&b=1,2,3。这将转换为服务器上的字符串,并可以在逗号上拆分以获取数组。