Bối cảnhLàm cách nào để đọc bộ nhớ cache của Chrome và Firefox theo lập trình trên máy Mac?
Tôi muốn truy cập bộ nhớ cache của Chrome và Firefox trong ứng dụng Cocoa của tôi. Tôi cần nhận HTML cho các trang được truy cập gần đây. Safari là một mẩu bánh - tất cả thông tin này có sẵn trong kho lưu trữ dữ liệu SQLite, nhưng không có trong Chrome và Firefox.
Vấn đề
Đối với Firefox, bộ nhớ cache là trong /Library/Caches/Firefox/Profiles/xxx.default/Cache với tên tập tin _CACHE_001_ _CACHE_002_ _CACHE_003_ và _CACHE_MAP_
Đối với Chrome, bộ nhớ cache là trong/Library/Caches/Google/Chrome/Default/cache với tên tập tin data_0 dữ liệu_1 dữ liệu_2 và data_3
Những gì tôi đã cố gắng
Bài viết duy nhất tôi có thể tìm thấy làm sáng tỏ những định dạng mà các bộ đệm này nằm trong số is here. Nó đề xuất một công cụ Cache Viewer, nhưng không giải thích làm thế nào người ta có thể làm điều này theo lập trình.
Câu hỏi
Có cách nào là xây dựng lại dữ liệu này sử dụng công cụ dòng lệnh hoặc khuôn khổ Cocoa? Hoặc là mức quá thấp?
Có cách nào khác để nhận được tại HTML của các trang web gần đây mà tôi không biết?
Điều này có thể không thực sự hữu ích, nhưng vì cả Firefox và Chromium đều là nguồn mở, nên chắc chắn có thể giải mã định dạng mà chúng sử dụng. –
OMG. Tôi không thể tin rằng tôi đã không nghĩ về điều đó! Nó sẽ là một rắc rối, nhưng đó là một kịch bản trường hợp xấu nhất khả thi. Cảm ơn bạn đã chỉ ra những gì cần phải rõ ràng với tôi! :) –
Hãy nhớ rằng mặc dù bộ nhớ cache của Safari dễ đọc vào lúc này, bạn không có đảm bảo rằng nó sẽ vẫn ở cùng một vị trí và định dạng trong tương lai. –