Rust:
HTTP-pyynnön lähettäminen perusautentikoinnilla
How to:
Miten toteutetaan:
use reqwest::{blocking::Client, header};
fn main() -> Result<(), reqwest::Error> {
let client = Client::new();
let creds = "username:password";
let base64_creds = base64::encode(creds);
let response = client
.get("http://example.com/protected")
.header(header::AUTHORIZATION, format!("Basic {}", base64_creds))
.send()?;
println!("Status: {}", response.status());
println!("Body:\n{}", response.text()?);
Ok(())
}
Esimerkki tuloste:
Status: 200 OK
Body:
{ "some": "json", "with": "data" }
Deep Dive
Syväsukellus: Alun perin lisätty HTTP/1.0:een, perusautentikaatio on nopea ja yksinkertainen tapa suojata sisältö. Vaikka perusautentikaatio on helppo toteuttaa, se on turvallinen vain HTTPS:n kanssa. Alternatiiveina ovat kehittyneemmät autentikaatiomenetelmät kuten OAuth, joka mahdollistaa pääsyn ilman suoria kirjautumistietoja. Tietoturvasyistä käyttäjätunnus ja salasana koodataan Base64-muotoon, mutta huomaa, että ilman HTTPS:ää tämä ei ole turvassa välimiesten hyökkäyksiltä.
See Also
Katso myös: