使用来自的会话requests
python 中的模块,似乎会话仅在第一个请求时发送授权,我不明白为什么会发生这种情况。
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')
如果我查找此响应请求标头,我会看到:
{'Authorization': 'Basic auth_data', 'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.12.3'}
但如果我使用相同或不同的网址发送下一个请求:
response = session.get(url='https://my_url/rest/api/1.0/users')
我可以看到请求中不再有 auth 标头:
print response.request.headers
{'Connection': 'keep-alive', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.12.3'}
因此我收到了 401 响应。
为什么会这样呢?会话不应该在使用它发出的每个请求中发送身份验证吗?
如何使用会话发送每个请求的身份验证数据?