파이썬 요청 모듈에 헤더 추가


108

앞서 httplib모듈을 사용 하여 요청에 헤더를 추가했습니다. 이제 requests모듈 에서도 같은 작업을 시도하고 있습니다.

이것은 내가 사용하고있는 파이썬 요청 모듈입니다 : http://pypi.python.org/pypi/requests

어떻게에 헤더를 추가 할 수 있습니다 request.post그리고 request.get내가 추가해야 할 말을 foobar헤더에 각 요청에 키를 누릅니다.


답변:


188

에서 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또는 .post메소드 의 headers 매개 변수에 전달하기 만하면됩니다 .

귀하의 질문에 더 구체적입니다.

headers = {'foobar': 'raboof'}
requests.get('http://himom.com', headers=headers)

2
보내거나받는 응답을 보는 것이 도움이 될 수 있습니다. 에 따라 요청 고급 사용법 워드 프로세서 사용은 r.headers서버가 다시 보내는 헤더에 액세스하고 r.request.headers서버에 보내는 헤더를 볼 수 있습니다.
harperville

44

이 작업을 수행하여 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.