如何以与它们相同的顺序获取cgi输入变量?

时间:2016-06-29 15:36:28

标签: python post cgi paypal-ipn server-side-scripting

我在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)需要我按照它的确切顺序返回数据的修改版本。

我可以剪切字符串并构建我自己的解析器,但对于那种问题,这似乎有点太黑了。

0 个答案:

没有答案