簡體   English   中英

'application / x-www-form-urlencoded'的標准是什么?空值?

[英]What is the standard for 'application/x-www-form-urlencoded' and an empty value?

不久之前,我注意到在將地圖name: value編碼為'application/x-www-form-urlencoded ,它會呈現類似的東西(這里我使用Python):

>>> from urllib import urlencode
>>> urlencode({'hello': '', 'blabla': 'hihi'})
'blabla=hihi&hello='

但解析(至少使用Python),只是剝離具有空值的對:

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

所以...這是標准行為嗎? 我在哪里可以找到關於如何解析www-form-urlencoded的參考? 我已經google了一段時間,發現了uris的RFC,W3c表格的文檔,等等,但沒有關於如何處理空值。 有人可以給我一個指針嗎???

據我所知,這沒有“標准”。 唯一描述的內容(在html規范中,正如您已經發現的那樣)是瀏覽器應該如何編碼表單數據。 您想要使用空值做什么(或不想做)取決於您。

請注意, urlparse.parse_qs()有一個可選參數keep_blank_values ,它允許您控制它應該如何處理它們:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM