Есть ли способ получить доступ к файлам cookie, хранящимся в Chrome, из программы Java

Вот моя идеальная ситуация. Я захожу на сайт www.philstockworld.com, используя Chrome. После входа в систему я запускаю Java-приложение, которое использует файлы cookie, только что сохраненные Chrome. Тогда мое приложение Java начинает работать. Вот мой вопрос.

Вот что теперь может делать моя программа: я могу войти на сайт, используя любой браузер, который мне нужен, затем найти значение файла cookie PHPSESSID и запустить мое приложение, используя это значение. Тогда мое приложение может делать то, что ему нужно. Я также могу снабдить свое приложение своим именем пользователя и паролем и войти в него, затем сохранить возвращенный файл cookie PHPSESSID и сделать то, что ему нужно. Однако я хотел бы, чтобы я вошел на веб-сайт с помощью браузера, затем мое приложение запускается и использует файл cookie PHPSESSID из сеанса браузера, и мне не нужно искать его и копировать.

Есть ли способ для моего java-приложения получить значение этого куки, без необходимости вручную вводить его?

3 ответа

Решение

Расположение файла Cookies:

В Linux:

$HOME/.config/google-chrome/Default/Cookies

Для других ОС см. Страницу данных пользователя на chromium.org.

Тем не менее, файл хранится в двоичном формате, поэтому вам будет сложно загрузить данные в него.

Ответ Джоэла говорит вам, где хранятся данные cookie. Эти данные являются файлом базы данных sqlite3. Смотрите этот вопрос о том, как читать базу данных sqlite3.

Я не могу найти, как / где Chrome хранит куки, по крайней мере в Linux. Скорее всего, они не будут кэшироваться как простые текстовые файлы и поэтому не будут легко читаемыми. Вы говорите, что не хотите жестко кодировать свое имя пользователя / пароль в своем java-приложении - но зачем вам это делать? Вы могли бы просто передать их в качестве аргументов в ваше приложение?

Другие вопросы по тегам