Rust:
Wysyłanie żądania HTTP
How to: (Jak to zrobić:)
Aby wysłać żądanie HTTP w Rust, możesz użyć popularnej biblioteki reqwest
. Oto prosty przykład:
use reqwest;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let response = reqwest::get("https://api.github.com/repos/rust-lang/rust").await?;
println!("Status: {}", response.status());
println!("Headers:\n{:#?}", response.headers());
let body = response.text().await?;
println!("Body:\n{}", body);
Ok(())
}
Wynik działania:
Status: 200 OK
Headers:
...
Body:
{ ... }
Deep Dive (W głąb tematu):
Pierwsze kroki wysyłania żądań HTTP w Rust mogły używać hyper
, niskopoziomowej biblioteki. Reqwest
to zbudowana na hyper
biblioteka zapewniająca wyższy poziom abstrakcji. Istnieją alternatywy takie jak surf
w ekosystemie async, ale reqwest
często jest wybierany za bogactwo funkcji i łatwość użycia. Aby skorzystać z biblioteki reqwest
, musisz także użyć tokio
, asynchronicznego środowiska uruchomieniowego, ponieważ reqwest
jest asynchroniczny.