Подтвердить что ты не робот

Фантомы и сеансы

Я не могу поддерживать сеанс серфинга через веб-сайт после входа в систему.

Я могу успешно войти на сайт (я указываю, что независимо от страницы, после входа в систему вы будете перенаправлены на главную страницу), но затем мне нужно перейти на другую страницу. Сначала я попытался с помощью page.open(), а затем с page.evaluate изменил свойство location.href window, но в обоих случаях, к сожалению, результатом является то, что я больше не вошел в систему. Я отслеживал статус входа, просто отображая страницу в каждом событии загрузки страницы с инкрементными именами png (1.png, 2.png и т.д.). Я также пробовал с параметром --cookies-file = cookie.txt, но это не помогло.

Мои вопросы: Каков наилучший способ "переместить" страницы сайта с помощью phantomjs? Существует ли конкретный способ обработки сеансов в этих случаях (возможно, отправка файлов cookie вручную для каждого .open(), просто говоря)?

Спасибо за помощь.

4b9b3361

Ответ 1

Сессии требуют куки. Вы должны добавить дополнительный аргумент в phantomjs.

--cookies-file=/path/to/cookies.txt

Посмотрите здесь для получения дополнительной информации.

Изменить: Ваш cookies.txt содержит что-то?

Ответ 2

У меня были проблемы с файловым файлом cookie. Файл будет написан, и я мог бы увидеть "файл cookie" в файле, но будущие запросы будут интерпретироваться как unauthenticated. Как последнее усилие, я просто взял массив page.cookies, сериализовал его в JSON и сохранил в файл. Мой следующий script откроет файл, десериализует его на переменную и задает переменную page.cookies. Конечно, это сработало! Просто подумал, что я передам его.