Как я могу прочитать cache.db Safari через Active Record? - PullRequest
0 голосов
/ 06 февраля 2010

Что я хочу

Я хочу прочитать кеш Safari через Active Record. По сути, я хочу заглянуть внутрь кеша, как это , кроме как из приложения Rails.

Что я пробовал

Я скопировал файл Cache.db Я установил файл environment.rb в новом приложении Rails с путем к копии базы данных SQLite Safari Cache.db. Ran db: мигрировать

Кажется, это генерирует схему, но я не уверен, как я читаю эти данные сейчас. Схема также имеет ошибку:

# Could not dump table "cfurl_cache_response" because of following StandardError
#   Unknown type '' for column 'time_stamp'

Я думаю, что я иду не по тому пути.

Требования

  • Я не хочу писать какие-либо данные, просто прочитайте их.
  • Я хочу прочитать URL и HTML страниц, хранящихся в кеше.
  • Что-то очень простое - я новичок в Rails.
  • Быстрая реализация - для быстрого и грязного прототипа.

Какой лучший подход?

Должен ли я подключаться к кэшу Safari через вторую базу данных SQLite, где я могу создать запрос данных только для чтения? Тогда как-нибудь прочитать это по очереди через мое приложение Rails?

1 Ответ

2 голосов
/ 06 февраля 2010

Если вы хотите только читать с него, вы можете просто использовать гем sqlite3 http://sqlite -ruby.rubyforge.org / :

gem install sqlite3-ruby

Тогда в рубине:

require 'rubygems'
require 'sqlite3'

db = SQLite3::Database.new('/Users/Andrew/Library/Caches/com.apple.Safari')

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

db.execute 'SELECT * FROM cfurl_cache_response'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...