web-dev-qa-db-ja.com

pythonリクエストモジュールにヘッダーを追加

以前、httplibモジュールを使用してリクエストにヘッダーを追加しました。今、私はrequestsモジュールで同じことを試みています。

これは私が使用しているpython要求モジュールです。 http://pypi.python.org/pypi/requests

request.postおよびrequest.getにヘッダーを追加するには、ヘッダーの各リクエストにfoobarキーを追加する必要があると言います。

75
discky

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)
131
tkone

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/latest/user/advanced/#session-objects

25
nommer