【发布时间】:2010-04-03 11:41:54
【问题描述】:
我正在尝试使用 urllib.urlencode 在 python 中对字典进行 urlencode。问题是,我必须编码一个数组。
结果需要是:
criterias%5B%5D=member&criterias%5B%5D=issue
#unquoted: criterias[]=member&criterias[]=issue
但我得到的结果是:
criterias=%5B%27member%27%2C+%27issue%27%5D
#unquoted: criterias=['member',+'issue']
我尝试了几件事,但似乎无法得到正确的结果。
import urllib
criterias = ['member', 'issue']
params = {
'criterias[]': criterias,
}
print urllib.urlencode(params)
如果我使用cgi.parse_qs 解码正确的查询字符串,我会得到以下结果:
{'criterias[]': ['member', 'issue']}
但是如果我对该结果进行编码,我会得到一个错误的结果。有没有办法产生预期的结果?
【问题讨论】:
-
cig.parse_qs已弃用(仅为了向后兼容而保留),因此使用urlparse.parse_qs可能会更好 -
感谢您的提示。我只是用来比较,所以没有真正用过。