Надсилання HTTP-запиту з базовою автентифікацією

Rust:
Надсилання HTTP-запиту з базовою автентифікацією

Як це зробити:

use reqwest::{blocking::Client, header};

fn main() {
    let username = "user";
    let password = "pass";
    let credentials = format!("{}:{}", username, password);
    let base64_credentials = base64::encode(credentials.as_bytes());

    let client = Client::new();
    let res = client.get("http://example.com")
        .header(header::AUTHORIZATION, format!("Basic {}", base64_credentials))
        .send();

    match res {
        Ok(response) => println!("Response Status: {}", response.status()),
        Err(e) => println!("HTTP Request Failed: {}", e),
    }
}

Sample output:

Response Status: 200 OK

Глибший Занурення

Перед історією HTTP, аутентифікація часто була вбудована у самі програми. З часом, потреба у стандартизованому рішенні призвела до включення базової аутентифікації до HTTP 1.0. Альтернативи, як OAuth та API ключі, забезпечують більш безпечні варіанти аутентифікації але вимагають додаткової налаштування та логіки. При використанні базової аутентифікації, credentials (зазвичай ім’я користувача та пароль) кодуються у Base64 і додаються до заголовку Authorization HTTP-запиту. Це просте рішення, яке досі іноді корисне, але пам’ятайте, що воно не шифрує ваші дані.

Дивіться Також