このような問題があります: リクエストモジュールからのセッションを使用しています。im pythonセッションは最初のリクエストでのみ許可を送信しますが、なぜこれが起こったのですか?Pythonのセッション認証
{'Authorization': 'Basic auth_data', 'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.12.3'}
をしかし、私は同じでもなく、同じURLを使用して次の要求を送信する場合:私はこの応答リクエストヘッダを探している場合
import requests
session = requests.Session()
session.auth = (u'user', 'test')
session.verify = False
response = session.get(url='https://my_url/rest/api/1.0/users')
は私が見
response = session.get(url='https://my_url/rest/api/1.0/users')
私がいることがわかります認証ヘッダーは要求に応じてありません:
print response.request.headers
{'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.12.3'}
そして私はそれのために401の応答を得ています。
なぜそうですか?セッションはそれを使用して行われたすべてのリクエストで認証を送信する必要がありますか? セッションを使用してリクエストごとに認証データを送信するにはどうすればよいですか?私はあなたのコメントの正確なコードがAuthorization
ヘッダは最初print
に欠落していることで、まだそれは二中に存在していることを実行したときに、私が見る何
あなたはそうです、それはうまくいくはずです。あなたは 'session = requests.Session()'をもう一度呼び出すのではないか、そうでなければ 'session.auth'をリセットしていますか? – mhawke
ば完全に、あなたがヘッダを参照してください。このコードを実行してみてください自分 'インポート要求 セッション= requests.Session() session.auth =(u'x-OAuthのトークン」、 'テスト') session.verify = Falseの レスポンス= session.get(url = 'https://test.com') レスポンスを返す.request.headers レスポンス= session.get(url = 'https://test.com') レスポンス。 headers' – Vova