问题:将标头添加到python请求模块
之前我使用httplib
模块在请求中添加标头。现在,我正在对该requests
模块尝试相同的操作。
这是我正在使用的python请求模块:http : //pypi.python.org/pypi/requests
如何向标头添加标题,request.post
并request.get
说必须foobar
在标头的每个请求中添加密钥。
回答 0
从http://docs.python-requests.org/en/latest/user/quickstart/
url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json.dumps(payload), headers=headers)
您只需要用标题创建一个字典(键:值对,其中键是标题的名称,值是该对的值),然后将该字典传递给.get
or .post
方法的标题参数。
因此,更具体地针对您的问题:
headers = {'foobar': 'raboof'}
requests.get('http://himom.com', headers=headers)
回答 1
您还可以执行此操作以为Session对象的所有将来获取设置标头,其中x-test将出现在所有s.get()调用中:
s = requests.Session()
s.auth = ('user', 'pass')
s.headers.update({'x-test': 'true'})
# both 'x-test' and 'x-test2' are sent
s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
来自:http : //docs.python-requests.org/en/latest/user/advanced/#session-objects