假设这是网址
domaint.tld/script?i=abc
这是剧本:
from cgi import parse_qs
def application(environ, start_response):
a = parse_qs(environ['QUERY_STRING'])
a = a.get('i', [''])[0]
start_response('200 OK', [('Content-Type', 'text/html')])
yield a
输出是:
abc
但是网址实际上看起来更短......就像这样。
domaint.tld/script?abc
并且wsgi脚本甚至可以更快我认为它不需要导入任何东西..
def application(environ, start_response):
a = environ['QUERY_STRING']
start_response('200 OK', [('Content-Type', 'text/html')])
yield a
输出与上面相同..
abc
是否有人应该使用带有=
标志和变量名称的URL?
什么时候可以这样做,看起来更健壮?
答案 0 :(得分:0)
此函数的目的确实是解析更复杂的查询字符串,例如
i=3&j=5&...
用于传递多个值。
如果你只有一个值,那就太过分了。
答案 1 :(得分:0)
name=value
表单是标准,由任何提交表单的浏览器生成。
您可以在此自由使用自己的格式,但是当您使用 HTML表单标记时,您的浏览器将使用HTML标准生成查询字符串以生成查询字符串字段和每个字段之间的&
个分隔符表示为name=value
对。
因此,如果您可以完全控制URL的生成方式,并且只需传递一个值,则只需使用?value
表单即可。如果您正在处理旨在生成相同格式的表单或工具,请坚持使用parse_qs
。