发送带有请求lib的html输入数组

时间:2014-07-08 09:15:21

标签: python python-requests

如何使用python请求发送html数组?

我想通过请求lib API实现CURL请求示例:

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

1 个答案:

答案 0 :(得分:0)

params关键字采用表示查询参数的字典;如果为键提供值 list ,则每个值都表示为查询字符串中的单独条目。名称上的[]后缀是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'}