簡體   English   中英

如何解析通過 POST 收到的 URL 編碼數據

[英]How to parse URL encoded data recieved via POST

我正在為通過 URL 編碼的POST發送數據的服務編寫一個 django webhook。 示例POST顯示如下:

POST id=a5f3ca18-2935-11e7-ad46-08002720e7b4
 &originator=1123456789
 &recipient=1987654321
 &subject=MMS+reply
 &body=View+our+logo
 &mediaUrls[0]=https://storage.googleapis.com/mms-assets/20170424/a0b40b77-30f8-4603-adf1-00be9321885b-messagebird.png
 &mediaContentTypes[0]=image/png
 &createdDatetime=2017-04-24T20:15:30+00:00

我知道如何解析json ,但我以前沒有遇到過這種格式。 關於如何通過POST處理這個問題,似乎沒有任何有用的教程。 我被困在這一點上,所以幫助將不勝感激。

蟒蛇2:

>>> from urlparse import parse_qs
>>> parse_qs('foo=spam&bar=answer&bar=42')
{'foo': ['spam'], 'bar': ['answer', '42']}

蟒蛇3:

>>> from urllib.parse import parse_qs
>>> parse_qs('foo=spam&bar=answer&bar=42')
{'foo': ['spam'], 'bar': ['answer', '42']}

都是 python 2/3:

>>> from six.moves.urllib.parse import parse_qs

更新程序

還有一個parse_qsl函數返回一個包含兩項元組的列表,比如

>>> parse_qsl('foo=spam&bar=answer&bar=42')
[('foo', 'spam'), ('bar', 'answer'), ('bar', '42')]

將這樣的列表傳遞給dict()構造函數非常合適,這意味着您得到一個每個名稱只有一個值的字典。 請注意,最后的名稱/值對優先於早期出現的相同名稱(請參閱庫參考中的字典)。

暫無
暫無

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

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