2014-04-30 24 views

回答

28

字典键必须是唯一的,你不能重复它们。你会使用键值元组序列代替,并通过这data:或者

requests.post(url, data=[('interests', 'football'), ('interests', 'basketball')]) 

,使data字典的值名单;列表中的每个值被用作一个独立的参数项:

requests.post(url, data={'interests': ['football', 'basketball']}) 

演示POST到http://httpbin.org

>>> import requests 
>>> url = 'http://httpbin.org/post' 
>>> r = requests.post(url, data=[('interests', 'football'), ('interests', 'basketball')]) 
>>> r.request.body 
'interests=football&interests=basketball' 
>>> r.json()['form'] 
{u'interests': [u'football', u'basketball']} 
>>> r = requests.post(url, data={'interests': ['football', 'basketball']}) 
>>> r.request.body 
'interests=football&interests=basketball' 
>>> r.json()['form'] 
{u'interests': [u'football', u'basketball']} 
+3

'requests.post(url,data = {'interest':['football','basketball']})'? –

+0

@GuilhermeGarnier:这也可以。 –

3

它可以使用urllib3._collections.HTTPHeaderDict作为一个键下有多个值的字典:

from urllib3._collections import HTTPHeaderDict 
data = HTTPHeaderDict() 
data.add('interests', 'football') 
data.add('interests', 'basketball') 
requests.post(url, data=data) 
相关问题