Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python '的标准是什么;应用程序/x-www-form-urlencoded';还有一个空值?_Python_Html_Http_Standards_Urlencode - Fatal编程技术网

Python '的标准是什么;应用程序/x-www-form-urlencoded';还有一个空值?

Python '的标准是什么;应用程序/x-www-form-urlencoded';还有一个空值?,python,html,http,standards,urlencode,Python,Html,Http,Standards,Urlencode,不久前,我注意到,当将映射name:value编码为'application/x-www-form-urlencoded时,它呈现类似的内容(这里我使用Python): 但解析(至少在Python中)只是剥离具有空值的对: >>> from urlparse import parse_qs >>> parse_qs('blabla=hihi&hello=') {'blabla': ['hihi']} 所以。。。这是标准行为吗?在哪里可以找到有关如何解

不久前,我注意到,当将映射
name:value
编码为
'application/x-www-form-urlencoded
时,它呈现类似的内容(这里我使用Python):

但解析(至少在Python中)只是剥离具有空值的对:

>>> from urlparse import parse_qs
>>> parse_qs('blabla=hihi&hello=')
{'blabla': ['hihi']}

所以。。。这是标准行为吗?在哪里可以找到有关如何解析
www-form-urlencoded
的参考?我在谷歌上搜索了一段时间,找到了用于URI的RFC、用于表单的W3c文档,等等,但没有找到关于如何处理空值的内容。有人能给我一个指向这个的指针吗?

据我所知,这个没有“标准”。唯一被描述的事情(在html规范中,正如您已经发现的那样)是浏览器应该如何对表单数据进行编码。对于空值,您想做什么(或不做什么)取决于您自己

请注意,
urlparse.parseqs()
有一个可选参数,
keep_blank_values
允许您控制如何处理这些值:

>>> from urlparse import parse_qs
>>> parse_qs('blabla=hihi&hello=', keep_blank_values=True)
{'blabla': ['hihi'], 'hello': ['']}

谢谢你的回答!!我不知道这个“保持空白值”的夸格。你知道吗?也许吧,Django中有这样的设置吗?Django不是已经对
请求这样做了吗。获取
请求。发布
?@Steven:嗯。。。我不这么认为,但我可能错了。。。虽然我很确定它不会使用django,所以我也不确定,但这些问题似乎表明它会使用:而且@Steven:好的。。。我的错误你是对的,我还与Django进行了检查,事实上,参数没有剥离。然而,让我开始的是,使用“选择多个”,如果没有选择任何内容,则不会发送参数。然而,这是客户机的问题,而不是服务器的问题。
>>> from urlparse import parse_qs
>>> parse_qs('blabla=hihi&hello=', keep_blank_values=True)
{'blabla': ['hihi'], 'hello': ['']}