例如,URL请求如下:
http://any-server.org/cgi-bin/test.cgi?a=1&b=2&b=20&b=200
是否有可能在CGI或任何Web框架中将b的三个值作为列表[2,20,200]
?
谢谢!
答案 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
。这将转换为服务器上的字符串,并可以在逗号上拆分以获取数组。