добавление заголовка в модуль запросов Python - PullRequest
69 голосов
/ 31 декабря 2011

Ранее я использовал модуль httplib для добавления заголовка в запрос. Теперь я пытаюсь сделать то же самое с модулем requests.

Это модуль запроса Python, который я использую: http://pypi.python.org/pypi/requests

Как добавить заголовок к request.post и request.get, скажем, я должен добавить ключ foobar в каждом запросе в заголовке.

Ответы [ 2 ]

126 голосов
/ 31 декабря 2011

С http://docs.python -requests.org / ru / 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)

Вам просто нужно создать dict со своими заголовками (ключ: значение парыгде ключ - это имя заголовка, а значение, ну, в общем, значение пары) и передача этого параметра параметру headers в методе .get или .post.

Более конкретнона ваш вопрос:

headers = {'foobar': 'raboof'}
requests.get('http://himom.com', headers=headers)
23 голосов
/ 15 апреля 2016

Вы также можете сделать это, чтобы установить заголовок для всех будущих поступлений для объекта 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'})

from: http://docs.python -requests.org / EN / последние / пользователь / продвинутый / # сеансовые-объекты

...