2014-07-08 36 views
0

如何发送带有python请求库的html数组?发送带输入请求库的html输入数组

有,我想与请求的lib API实现CURL请求例如:

curl <some url there> -H <some header there> --data 'path[]=/empty&path[]=/Burns.docx&path[]=/Byron.doc' 
+1

欢迎堆栈溢出。请阅读[Stack Overflow:How to ask](http://stackoverflow.com/questions/how-to-ask)和[Jon Skeet的问题清单](http://msmvps.com/blogs/jon_skeet/archive/2012) /11/24/stack-overflow-question-checklist.aspx)来找出如何提出一个很好的问题,这将产生很好的答案。 –

回答

0

params关键字接受表示查询参数的字典;如果您给密钥列表的值,那么这些值中的每一个都被表示为查询字符串中的单独条目。该[]后缀上的名字是一个PHP /的Ruby-on-Rails约定,你就需要自己为它供给:

params = {'path[]': ['/empty', '/Burns.docx', '/Byron.doc']} 
headers = {'Some-header', 'Header value'} 
response = requests.get(url, params=params, headers=headers) 

这里path[]指定参数值的列表,每个成为一个独立的path[]=<value>进入查询字符串。

演示:

>>> import requests 
>>> params = {'path[]': ['/empty', '/Burns.docx', '/Byron.doc']} 
>>> url = 'http://httpbin.org/get' 
>>> response = requests.get(url, params=params) 
>>> response.url 
u'http://httpbin.org/get?path%5B%5D=%2Fempty&path%5B%5D=%2FBurns.docx&path%5B%5D=%2FByron.doc' 
>>> from pprint import pprint 
>>> pprint(response.json()) 
{u'args': {u'path[]': [u'/empty', u'/Burns.docx', u'/Byron.doc']}, 
u'headers': {u'Accept': u'*/*', 
       u'Accept-Encoding': u'gzip, deflate, compress', 
       u'Connection': u'close', 
       u'Host': u'httpbin.org', 
       u'User-Agent': u'python-requests/2.2.1 CPython/2.7.6 Darwin/13.2.0', 
       u'X-Request-Id': u'3e4c8341-3da9-4a26-9527-f983904b3b18'}, 
u'origin': u'84.92.98.170', 
u'url': u'http://httpbin.org/get?path[]=%2Fempty&path[]=%2FBurns.docx&path[]=%2FByron.doc'}