Sample code for 30+ languages & platforms
Rust

Persist Cookies to XML Files and Auto Re-Send

See more HTTP Examples

Demonstrates how to persist incoming cookies to XML files and automatically re-send in subsesquent HTTP requests.

Chilkat Rust Downloads

Rust
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let http = chilkat::Http::new();

// To save cookies to XML files (per domain) in a specific
// directory, set the CookieDir property (the directory must
// already exist and be writeable by the caller).  Also,
// set the SaveCookies property:
http.set_cookie_dir("/cookieDir");
http.set_save_cookies(true);

// Any methods that do a GET, POST, etc. will save cookies
// to the CookieDir:
let _ = http.quick_get_str("https://www.paypal.com/").unwrap_or_default();

// After running this code, a "paypal_com.xml" file should appear
// in /cookieDir.

// It's content will look something like this:

// <cookies>
//     <cookie key=".paypal.com,/" v="0" secure="yes">
//         <navcmd>_home-general</navcmd>
//         <HttpOnly />
//         <cwrClyrK4LoCV1fydGbAxiNL6iG>9cz...</cwrClyrK4LoCV1fydGbAxiNL6iG>
//     </cookie>
// </cookies>

// To cause cached cookies to be sent with 
// subsequent HTTP requests, set the SendCookies
// property = true.
http.set_send_cookies(true);

// If another HTTP request is sent, the cookies should
// be added:
let _ = http.quick_get_str("https://www.paypal.com/").unwrap_or_default();

// Check the LastHeader property to see the MIME header
// of the last HTTP request sent.
// The "Cookie" header field should be present.
println!("--- LastHeader ---");
println!("{}", http.last_header());