Sample code for 30+ languages & platforms
Rust

HTTP Digest-MD5 Authentication Testing with httpbin.org

See more HTTP Examples

The URL https://httpbin.org/digest-auth/auth/user/passwd is password protected with user="user" and password="passwd". It requires Digest-MD5 authentication. Chilkat will automatically handle Digest-MD5 authentication as required by the server response. In this case, however, the server will fail the authentication unless a Cookie is included in the request. The cookie can have any name and any value. (Yes, this is ridiculous, and many developers have probably spent countless hours assuming their Digest-MD5 implementations were incorrect.)

Chilkat Rust Downloads

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

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

http.set_login("user");
http.set_password("passwd");

// Add a cookie to satisfy httpbin.org's desire for cookies..
// Otherwise, it will fail the perfectly valid Digest-MD5 authentication.
http.set_request_header("Cookie", "something=\"something\"");

let Ok(str_response) = http.quick_get_str("https://httpbin.org/digest-auth/auth/user/passwd") else {
    println!("{}", http.last_error_text());
    return;
};

println!("{}", str_response);

let status = http.last_status();
println!("response status code = {}", status);

// The output of this program is:
// 
// 	{ 
// 	  "authenticated": true, 
// 	  "user": "user"
// 	} 
// 
// 	response status code = 200