14
requests.post(url, data={'interests':'football','interests':'basketball'})
但是,是不是工作,如何发布football
和basketball
在interests
字段?如何在python请求中使用相同的键发布多个值?
requests.post(url, data={'interests':'football','interests':'basketball'})
但是,是不是工作,如何发布football
和basketball
在interests
字段?如何在python请求中使用相同的键发布多个值?
字典键必须是唯一的,你不能重复它们。你会使用键值元组序列代替,并通过这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']}
它可以使用urllib3._collections.HTTPHeaderDict
作为一个键下有多个值的字典:
from urllib3._collections import HTTPHeaderDict
data = HTTPHeaderDict()
data.add('interests', 'football')
data.add('interests', 'basketball')
requests.post(url, data=data)
'requests.post(url,data = {'interest':['football','basketball']})'? –
@GuilhermeGarnier:这也可以。 –