#更新 #目录 #微软

msuc

微软更新目录的客户端库

6 个版本 (1 个稳定版)

1.0.0 2023年10月21日
0.1.2 2023年10月3日
0.1.0 2023年9月26日
0.0.2 2023年9月22日

#10 in #目录

每月下载 39

MIT 许可证

160KB
1K SLoC

msuc-rs

crates.io

本软件包提供了一个 Rust 客户端接口,用于访问 微软更新目录。它支持搜索目录并检索特定更新的详细信息。

文档

请参阅 docs.rs 页面的文档。

用法

此软件包位于 crates.io,您可以通过将 msuc 添加到项目 Cargo.toml 文件中的依赖项来使用它。

[dependencies]
msuc = "1.0.0"

示例

搜索更新目录

use msuc::prelude::*;
#[tokio::main]
async fn main() {
    let client = MsucClient::new();
    let search = client.search("MS08-067");
    loop {
        match search.next().await {
            Ok(Some(results)) => {
                for r in results {
                    println!("title: {}", r.title);
                    println!("id: {}", r.id);
                    println!("kb: {}", r.kb);
                    println!("product: {}", r.product);
                    println!("classification: {}", r.classification);
                    println!("last modified: {}", r.last_modified);
                    println!("version: {}", r.version.unwrap_or("".to_string()));
                    println!("size: {}", r.size);
                    println!();
                }
            },
            Ok(None) => break,
            Err(e) => println!("error: {}", e),
        }
    }
}

检索更新详细信息

use msuc::prelude::*;
#[tokio::main]
async fn main() {
    let client = MsucClient::new();
    // MS08-067: KB958644
    let details = client.details("9602ca4a-80a7-4d73-94c3-0088fcb5bce3").await;
    match details {
        Ok(d) => {
            println!("title: {}", d.title);
            println!("id: {}", d.id);
            println!("kb: {}", d.kb);
            println!("classification: {}", d.classification);
            println!("last modified: {}", d.last_modified);
            println!("size: {}", d.size);
            println!("description: {}", d.description);
            println!("architecture: {}", d.architecture);
            println!("supported products: {}", d.supported_products);
            println!("supported languages: {}", d.supported_languages);
            println!("msrc number: {}", d.msrc_number);
            println!("msrc severity: {}", d.msrc_severity);
            println!("info url: {}", d.info_url);
            println!("support url: {}", d.support_url);
            println!("reboot behavior: {}", d.reboot_behavior);
            println!("requires user input: {}", d.requires_user_input);
            println!("is exclusive install: {}", d.is_exclusive_install);
            println!("requires network connectivity: {}", d.requires_network_connectivity);
            println!("uninstall notes: {}", d.uninstall_notes);
            println!("uninstall steps: {}", d.uninstall_steps);
            println!("supersedes: {}", d.supersedes);
            println!("superseded by: {}", d.superseded_by);
        },
        Err(e) => println!("error: {}", e),
    }

}

软件包功能

以下软件包功能可用

  • default:async/await 支持
  • blocking:阻塞支持

注意blocking 功能与 default 功能互斥。

依赖项

~7–21MB
~320K SLoC