python urlencode 多个相同的变量
python urlencode multiple same variables
我已经阅读了关于 python(v2) urlencode 的其他帖子,但没有找到这个问题。
如果我有多个变量,但都具有相同的名称,我该如何使用 urlencode(如果这是正确的工具)?所以说 URL 是:
http://path.com/a?var=earth&var=wind&var=fire
如果我这样定义:
url = 'http://path.com/a?'
query_args = {'var': 'earth',
'var': 'wind',
'var': 'fire'}
encoded_args = urllib.urlencode(query_args, doseq=True)
print url + encoded_args
似乎 urlencode returns 只定义了最后一个 'var':
如何获得所有 var 的编码?
来自docs
Convert a mapping object or a sequence of two-element tuples to a “percent-encoded” string...
所以...像这样:
>>> import urllib
>>> urllib.urlencode([('var', 'earth'), ('var', 'wind')])
'var=earth&var=wind'
"problem"是你传给urlencode
的字典只有一对key/value:
>>> {'var': 'earth',
... 'var': 'wind',
... 'var': 'fire'}
{'var': 'fire'}
因为字典中只能有一个特定的键一次。允许 urlencode 接受一系列 2 元素元组正是出于这个原因(以及对于查询参数的 order 很重要的偶然 url)
我已经阅读了关于 python(v2) urlencode 的其他帖子,但没有找到这个问题。
如果我有多个变量,但都具有相同的名称,我该如何使用 urlencode(如果这是正确的工具)?所以说 URL 是:
http://path.com/a?var=earth&var=wind&var=fire
如果我这样定义:
url = 'http://path.com/a?'
query_args = {'var': 'earth',
'var': 'wind',
'var': 'fire'}
encoded_args = urllib.urlencode(query_args, doseq=True)
print url + encoded_args
似乎 urlencode returns 只定义了最后一个 'var':
如何获得所有 var 的编码?
来自docs
Convert a mapping object or a sequence of two-element tuples to a “percent-encoded” string...
所以...像这样:
>>> import urllib
>>> urllib.urlencode([('var', 'earth'), ('var', 'wind')])
'var=earth&var=wind'
"problem"是你传给urlencode
的字典只有一对key/value:
>>> {'var': 'earth',
... 'var': 'wind',
... 'var': 'fire'}
{'var': 'fire'}
因为字典中只能有一个特定的键一次。允许 urlencode 接受一系列 2 元素元组正是出于这个原因(以及对于查询参数的 order 很重要的偶然 url)