Как я могу использовать SQLite для чтения данных из файла cookie Firefox? - PullRequest
8 голосов
/ 30 сентября 2011

В моем профиле Firefox есть файл cookies.sqlite, в котором хранятся данные о файлах cookie Firefox. Я взял расширение Firefox SQLite Manager и загрузил этот файл, который работает, но как я могу использовать простые команды запроса для чтения файлов cookie из этого файла?

Это то, что я пробовал до сих пор:

$ sqlite3 cookies.sqlite
sqlite> SELECT * FROM dbname.sqlite_master WHERE type='table';
SQL error: file is encrypted or is not a database

Я не могу даже перечислить таблицы, поэтому я не могу начать пытаться перечислить куки. Если я смогу подключиться, я бы хотел там читать и записывать данные, но я новичок в SQLite.

Ответы [ 2 ]

10 голосов
/ 24 января 2012

У меня возникла та же проблема при попытке прочитать файл cookies.sqlite в Mac OS 10.6.8 (Snow Leopard). Я скачал SQLite 3.7.10 с http://www.sqlite.org/download.html, а затем смог открыть файл.

Вот пошаговое руководство по тому, что я сделал ...

  • Загрузите SQLite 3, перейдите в папку загрузок и разархивируйте файл, чтобы теперь у вас в папке загрузок появился новый SQLite 3.
  • Откройте новое окно поиска, нажмите CMD + Shift + G, в появившемся диалоговом окне «Перейти к» введите ~ / Library / Support Application / Firefox / Profiles и затем нажмите return.
  • Предполагая, что у вас есть только один профиль Firefox, вы должны увидеть здесь папку с именем XXXXXXXX.default (где в строке XXX будет несколько случайных символов). Откройте эту папку или, если у вас более одного профиля, откройте папку нужного профиля.
  • Внутри вы найдете файл базы данных cookies.sqlite, вы можете использовать его здесь напрямую, но вы можете сделать копию в другом месте, чтобы не испортить ту, что использует Firefox. Если вы хотите использовать Firefox один напрямую, то я думаю, что сначала вам нужно выйти из Firefox, в противном случае он заблокирован для файла.
  • Откройте новое окно терминала и перетащите двоичный файл sqlite3 из папки загрузок в окно терминала, в командной строке введите путь к sqlite3.
  • Теперь перетащите базу данных cookies.sqlite3 (оригинал или вашу копию) в терминал, нажмите return в терминале.

Если все идет хорошо, вы должны получить командную строку sqlite>. Если вы введете .tables, вы увидите таблицу moz_cookies, которую вы можете затем запросить и исследовать.

Могут помочь следующие команды:

.mode column
.headers on
select * from moz_cookies where domain = '.stackoverflow.com';

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

Я обнаружил это, пытаясь извлечь значения cookie для использования curl, и обнаружил, что http://slacy.com/blog/2010/02/using-cookies-sqlite-in-wget-or-curl/ очень полезно.

Если вы хотите обновить существующий sqlite3 на вашем Mac, я сделал sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3.old (на случай каких-либо проблем в будущем я могу переместить его обратно), а затем sudo mv ~/downloads/sqlite3 /usr/bin/sqlite3.

0 голосов
/ 20 января 2019

Использовать sqlite3

sqlite3 file.sqlite

Затем используйте приведенную ниже команду для просмотра таблиц

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