Файлы cookie сеанса отсутствуют в ответе с использованием запросов Python - PullRequest
0 голосов
/ 09 октября 2019

Продолжайте сталкиваться с проблемой. Два разных сайта, которые пытаются загрузить csv-файлы, которые находятся за аутентификацией, чтобы я мог хранить данные в Pandas.

Я запускаю сеанс запросов, вход в систему просто отлично. Я могу получить доступ к любой HTML-странице, которую я хочу, после использования запросов.

Когда я пытаюсь получить доступ к файлам CSV, я получаю ошибку аутентификации.

Если я захожу в Chrome и авторизируюсь и проверяю, я вижу, чтоЕсть куки, установленные для аутентификации. На одном сайте это RememberMe, а на другом - mozauth.

Если я беру куки, которые установлены в браузере, и сам устанавливаю эти куки с запросом, я получаю 200, и файл загружается просто отлично. Если я попытаюсь просмотреть файлы cookie и заголовки, которые я получаю в ответ на запрос при извлечении его через Python, я не вижу этих файлов cookie. Я не могу понять, как получить к ним доступ, чтобы я мог автоматизировать этот процесс. Я пытался вызвать некоторые из URL перенаправления, но я их не вижу. Я вижу, что эти куки установлены с httponly.

loginurl = 'https://urlforlogin' ## Initial Page I login at
posturl = 'https://url/report/export' ## Where the CSV is on the web
user = 'X'
password = 'X'

with requests.Session() as session:
    session.get(loginurl)
    session.post(loginurl, auth=HTTPBasicAuth(user, password), verify=True, stream=True, allow_redirects=True) #Works Fine
    download = session.get(posturl) #Get a 401 and a credential error

Чего мне не хватает в процессе? Как я могу получить файлы cookie для установки или каким-либо образом получить их в процессе работы с Python, чтобы я мог автоматически загружать файлы?

ОБНОВЛЕНИЕ Я до сих пор не нашел способа заставить эту работу работать с использованием запросов. Хотя я решил использовать Selenium. Это гарантирует, что я получаю все необходимые файлы cookie, и позволяет мне скачивать нужные файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...