[][src]Crate browsercookie

browsercookie-rs

Browsercookie-rs crate allows you to gather cookies from browsers on the system and return them in a CookieJar, so that it can be used with other http libraries like Hyper etc..

This example is not tested
use Browsercookie::{Browser, Browsercookies};

let mut bc = Browsercookies::new();
let domain_regex = Regex::new(".*");
bc.from_browser(Browser::Firefox, &domain_regex).expect("Failed to get firefox browser cookies");
if let Ok(cookie_header) = bc.to_header(&domain_regex) as Result<String, Box<Error>> {
    println!("Cookies extracted");
}

Using above to_header returns a string to be used with http clients as a header directly.

This example is not tested
use reqwest::header;
use Browsercookie::{Browser, Browsercookies};

let mut bc = Browsercookies::new();
let domain_regex = Regex::new("www.rust-lang.org");
bc.from_browser(Browser::Firefox, &domain_regex).expect("Failed to get firefox browser cookies");

if let Ok(cookie_header) = bc.to_header(&domain_regex) as Result<String, Box<Error>> {
    let mut headers = header::HeaderMap::new();
    headers.insert(header::COOKIE, header::HeaderValue::from_str(&cookie_header));

    let client = reqwest::Client::builder()
        .default_headers(headers)
        .build()?;
    let res = client.get("https://www.rust-lang.org").send()?;
}

Modules

errors

Exported errors if library users wish to handle certain failure cases

Structs

Browsercookies

Main struct facilitating operations like collection & parsing of cookies from browsers

Enums

Browser

All supported browsers