3 个版本
0.1.2 | 2024年1月19日 |
---|---|
0.1.1 | 2024年1月18日 |
0.1.0 | 2024年1月18日 |
#58 in macOS 和 iOS API
22 每月下载量
19KB
379 代码行数,不包括注释
关于 Binarycookies-Reader
binarycookies 是用于解码 Safari 或 WebKit 的 .binarycookies 文件的程序。
Safari cookies 文件,也称为 Safari 二进制 cookies 文件(Cookies.binarycookies)格式
更多信息:https://github.com/libyal/dtformats/blob/main/documentation/Safari%20Cookies.asciidoc
GitHub
https://github.com/findre/binarycookies-reader
关于错误
- InvalidIndexOverBounds:索引超出范围,格式错误,cookie 版本无效?
- InvalidSignature:cookie 文件必须以 'cook' 开头
- InvalidStartCode:起始代码以 '[0x00, 0x00, 0x00, 0x00]' 开头
- EndCodeError
- EndHeaderCodeError
- DataOverSize
- SystemIOError:当使用 'new' 函数时,覆盖 io 错误
使用方法
1. 使用 'from_vec' 函数
use std::{fs::File, io::Read};
use binary_cookies::BinaryCookiesReader;
fn main() {
let mut target = File::open("/Users/foo/Library/HTTPStorages/boo.binarycookies").unwrap();
let mut data = Vec::new();
let _ = target.read_to_end(&mut data).unwrap();
let mut d = BinaryCookiesReader::from_vec(&data);
let _ = d.deocde().unwrap();
for pages in d.origin_pages() {
for cookie in pages.cookies() {
println!("{} | {} | {} | {}", cookie.domian_str(), cookie.name_str(), cookie.value_str(), cookie.http_only);
}
}
}
2. 使用 'new' 函数
use binary_cookies::BinaryCookiesReader;
fn main() {
let target = String::from("/Users/foo/Library/HTTPStorages/boo.binarycookies");
let mut dec = BinaryCookiesReader::new(&target).unwrap();
let _ = d.deocde().unwrap();
for pages in d.origin_pages() {
for cookie in pages.cookies() {
println!("{} | {} | {} | {}", cookie.domian_str(), cookie.name_str(), cookie.value_str(), cookie.http_only);
}
}
}