Почему не проходит авторизация? 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 шт):

Автор решения: Sergey Rufanov

Потому что в 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.

→ Ссылка