Почему не проходит авторизация? python session cookie
import http
import requests
import json
import ssl
import time
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
data = {
"username": "1",
"password": "1",
"scope": "1"
}
s = requests.Session()
s.post('https://192.168.1.1:8088/deviceManager/rest/xxxxx/sessions', data=json.dumps(data), verify=False)
print(s.cookies)
url = "https://192.168.1.1:8088/deviceManager/rest/36/performace_statistic/cur_statistic_data?CMO_STATISTIC_UUID=207:0A&CMO_STATISTIC_DATA_ID_LIST=26&timeConversion=0"
payload = {}
response = s.get(url, data = payload, verify=False)
print(response.text.encode('utf8'))
вот на запроса s.get(url, data = payload, verify=False) , у меня опять просит авторизацию, куки не сохраняет или я что не понимаю. print(s.cookies) - -печатается текущую сессию
Как быть?
Ответы (1 шт):
Потому что в Rest API OceanStor-ов для аунтификации запросов используется не Cookie, а специальный заголовок с токеном сессии, который должен передаваться с каждым запросом:
iBaseToken - Specifies a random code for preventing cross-site request forgery (CSRF). A random code is generated after each successful authentication. All REST requests except the authentication request must carry this parameter.
В случае успешной авторизации, вы получите его в ответе на запрос /sessions, в json-поле data.iBaseToken.