我在python中有一个简单的监听器,等待一个http post请求:
import cgi
import sys
inputVars = cgi.Fieldstorage()
f.open('test','a')
f.write("how they come in: "+ str(inputVars))
我可以按特定顺序看到变量。 e.g。
FieldStorage(None, None, [MiniFieldStorage('payment_type', 'instant'), MiniFieldStorage('payment_date', 'Wed Jun 29 2016 17:16:32 GMT 0200 (CEST)'), MiniFieldStorage('payment_status', 'Pending')])
但是当我循环使用FieldStorage将数据放入列表时,数据的顺序是不同的:
for item in inputVars:
f.write(item)
f.write("\n")
写道(例子):
payment_status
payment_type
payment_date
我如何以与他们到达POST时完全相同的顺序获取这些内容? API(paypal-ipn)需要我按照它的确切顺序返回数据的修改版本。
我可以剪切字符串并构建我自己的解析器,但对于那种问题,这似乎有点太黑了。