2010-02-22 12 views
6

KontoJak programowo czytać pamięć podręczną przeglądarki Chrome i Firefox na komputerze Mac?

Chcę uzyskać dostęp do pamięci podręcznej przeglądarki Chrome i Firefox w mojej aplikacji Cocoa. Potrzebuję uzyskać kod HTML dla ostatnio odwiedzanych stron. Safari to bułka z masłem - wszystkie te informacje są dostępne w magazynach danych SQLite, ale nie w Chrome i Firefox.

Problem

Dla Firefox, pamięć podręczna jest w /Library/Caches/Firefox/Profiles/xxx.default/Cache z nazwami plików, _CACHE_001_ _CACHE_002_ _CACHE_003_ i _CACHE_MAP_

Dla Chrome, pamięć podręczna jest w/Library/Caches/Google/Chrome/default/cache z nazwami data_0 dane_1 dane_2 i data_3

co już próbowałem

Jedyny artykuł, jaki mogę znaleźć, rzuca światło na format, jaki te pamięci podręczne znajdują się w is here. Zaleca narzędzie do przeglądania pamięci podręcznej, ale nie wyjaśnia, w jaki sposób można to zrobić programowo.

Pytania

  1. Czy jest jakiś sposób rekonstrukcji tych danych za pomocą narzędzi wiersza poleceń lub ramy kakao? Czy to jest zbyt niski poziom?

  2. Czy istnieje inny sposób uzyskania kodu HTML z ostatnich stron internetowych, o których nie wiem, o których ?

+2

To może nie być naprawdę pomocne, ale ponieważ zarówno Firefox, jak i Chromium są open source, zdecydowanie powinno być możliwe odkodowanie formatu, którego używają. –

+0

OMG. Nie mogę uwierzyć, że o tym nie myślałem! To będzie kłopot, ale jest to najgorszy możliwy scenariusz. Dzięki za wskazanie tego, co powinno być dla mnie jasne! :) –

+0

Pamiętaj, że chociaż pamięć podręczna Safari jest łatwa do odczytania, nie masz gwarancji, że pozostanie ona w tym samym miejscu i formacie w przyszłości. –

Odpowiedz

1

Jedynym rozwiązaniem widzę, że sugerowane przez Ole powyżej, a mianowicie, aby spojrzeć na kod z Chrome i Firefox i wypracować jak one kodować cache.

Od tego czasu zdałem sobie sprawę, że jest to ogromne wyzwanie związane z kodowaniem, obarczone trudnościami. Opuszczam tę funkcjonalność i próbuję prostszego sposobu.

+0

Czy możesz skryptować przeglądarkę Firefox/Chrome i użyć jej do ujawnienia swojego wewnętrznego interfejsu API w aplikacji? Być może zainstalujesz wtyczkę do Firefoksa odczytującą pamięć podręczną i zapisującą metadane zrozumiałe dla Twojej aplikacji? – adib

+0

To świetny pomysł. Wydaje się to bardzo czasochłonne, ale na pewno jest to droga, jeśli chcę to zrobić. –

+0

Rozszerzenia przeglądarki Firefox są w rzeczywistości dość łatwe do napisania. Projekt Beagle zwykł robić to, o czym myślę, że prawdopodobnie próbujesz: powiadomić zewnętrzny proces o adresach URL, które odwiedzasz. Może uda Ci się wydobyć źródło z tego miejsca: http://beagle-project.org/Browser_Extension –

Powiązane problemy