Получить файл xls post-запросом

На сайте, в браузере нажимаю на кнопку "Получить отчет", ловлю отправляемый запрос с параметрами. Сервер формирует отчет. Заголовки ответа, содержащие вложение в виде xls файла, браузер получает спустя какое-то время, примерно секунд 30.

post запрос в chrome и заголовки ответа

В python отправляю post с теми же параметрами и получаю заголовки ответа почти мгновенно, без задержек. При этом заголовки отличаются, например Content-Type уже text/html, файла нет. Соответственно в сохраняемом xls я просто получаю html страницы.

Пробовал в параметрах запроса установить timeout - не помогло.

Вопрос - как получить корректные заголовки с файлом?

Мой код:

import config
import requests

url = 'https://portal.skai-corp.com/'

session = requests.Session()

# авторизация

data = {'do': 'login_login',
        'e_mail': config.login,
        'password': config.password}
headers = {
    'Accept': '*/*',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 OPR/78.0.4093.147'
}

session.post(url, headers=headers, data=data)
r = session.get(url)

assert 'Капустин' in r.text
print('Авторизован')


# запрос файла
headers = { *some_headers* }
data = { *some_data* }

r = session.post(url, data=data, headers=headers, timeout=30)

print(r.headers)

with open('download.xls', 'wb') as file:
    file.write(r.content)

Ответы (0 шт):