Загрузка веб-страницы

Rust:
Загрузка веб-страницы

Как это сделать:

Давайте скачаем веб-страницу, используя крейт reqwest для Rust, который предоставляет простой асинхронный API для выполнения HTTP-запросов.

Сначала добавьте reqwest и tokio в ваш Cargo.toml:

[dependencies]
reqwest = "0.11"
tokio = { version = "1", features = ["full"] }

Теперь в вашем коде на Rust:

use reqwest;
use tokio;

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let url = "http://example.com";
    let res = reqwest::get(url).await?;

    let body = res.text().await?;
    println!("Тело:\n{}", body);

    Ok(())
}

Пример вывода может выглядеть так, хотя фактическое содержание будет различаться:

Тело:
<!doctype html>
<html>
<head>
    <title>Пример домена</title>
...
</body>
</html>

Подробнее

Крейт reqwest является одним из самых простых способов загрузки веб-контента в Rust. Он развивался из более ранних библиотек HTTP, предоставляя как синхронные, так и асинхронные интерфейсы.

К альтернативам относятся более низкоуровневые библиотеки, такие как hyper (который сам reqwest использует под капотом), или использование привязок curl для Rust.

Ключевые шаги реализации загрузки страницы включают в себя создание HTTP GET-запроса и обработку ответа. Асинхронное программирование с tokio означает, что ваше приложение остается отзывчивым, пока сетевая операция завершается.

Смотрите также: