#python #web-scraping #python-requests
#python #очистка веб-страниц #python-запросы
Вопрос:
Я отправляю запросы на веб-сайт, который использует файлы cookie для отслеживания сеанса. Меня смущает то, что когда я захожу на страницу входа в систему и проверяю, Chrome СНАЧАЛА ОТПРАВЛЯЕТ файлы cookie? Это до того, как я войду в систему. Разве я не должен получать файлы cookie после входа в систему? Это веб-сайт:https://unionline.uniongas.com/ul/Account/LogOn
Вы можете видеть, что в файлах cookie запроса есть четыре файла cookie: «ULTICKET», «ULRMUID» и «ULTOKEN». Как Google отправляет их на сервер, не получая их сначала?
И когда я отправляю запрос на https://unionline.uniongas.com/ul/Account/LogOn
, я получаю только файл cookie «ULTOKEN», а не два других.
Мой код:
s = requests.Session()
headers = {
'Connection': 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
'Accept': 'text/html,application/xhtml xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Sec-Fetch-Dest': 'document',
'Accept-Language': 'en-US,en;q=0.9',
}
response = s.get('https://unionline.uniongas.com/ul/Account/LogOn', headers=headers)
print(s.cookies.get_dict())
Который печатает:
{'ULTOKEN': ******}
Как мне на самом деле получить все файлы cookie запроса с помощью Python?
Спасибо
Ответ №1:
Я пока не могу комментировать этот сайт, поэтому у меня нет другого выбора, кроме как представить его в качестве ответа, и, возможно, этого даже будет достаточно, кто знает, потому что вы на самом деле задаете здесь два вопроса.
Что я хочу сказать, если это не так, что у вас уже были эти файлы cookie из предыдущих взаимодействий с сайтом?
Я подключился к этому адресу впервые в своей жизни, и браузер не отправил никаких файлов cookie в своем первом запросе, но позже он отправил ULTOKEN.
Что и ожидалось, потому что браузер не может узнать, что случайный сайт ожидает такой-то файл cookie, если только браузер не имеет его каким-либо образом жестко запрограммированным, что, естественно, я сомневаюсь, может иметь место здесь.
Что касается получения файлов cookie, отправленных в части запроса, помогает ли это?
print(response.request.cookies)
Комментарии:
1. Это в точности моя логика, я только что открыл окно инкогнито, и, похоже, я тоже получаю другой ответ. Я собираюсь попробовать это и сообщу