Мне нужно записаться на прием на веб-сайте.Эти встречи выпускаются спорадически и записываются быстро.Чтобы даже увидеть доступное время встречи, вы должны войти в систему и заполнить reCaptcha.Если бы я хотел написать скребок, использующий Headless Chrome, чтобы постоянно чистить сайт и уведомлять меня о появлении новой встречи, то для каждого входа в систему потребуется каждый раз побеждать reCaptcha, что, по крайней мере, ненулевое затруднение.
Лучшим подходом (я думал) было бы войти в систему один раз вручную, захватить мои сеансовые куки, а затем загрузить их в Headless Chrome, прежде чем отправлять запрос непосредственно на страницу времени встречи.Сервер увидит мой запрос, увидит мои сеансовые файлы cookie и ответит так, как если бы сеанс, вошедший вручную, был обновлен.Это почти так же, как указано в ответе на этот вопрос StackOverflow: как управлять сеансом входа в систему через Chrome без головы?
Но это не работает, и я не могу понять,Зачем.Меня перенаправляют каждый раз прямо на страницу входа.Я пробовал на Chrome и Firefox, а также на нескольких других веб-сайтах, требующих входа в систему (Facebook, Reddit и т. Д.).
Как эти серверы могут различать между исходным клиентом и клиентом, использующим скопированные файлы cookie, когда файлы cookie используются серверами для первичной идентификации клиентов?
Точные шаги для воспроизведения:
- Войдите на выбранный вами сайт в Chrome, скажем, в Facebook.
- Экспортируйте файлы cookie в буфер обмена с сайта, используя расширение EditThisCookie
- Запустите окно инкогнито (для сброса активных файлов cookie) и импортируйте те сеансовые файлы cookie с тем же удобным расширением.
- Перейдите к целевому URL-адресу прошлой формы входа.
- Переадресация.
- Разочарование.