2 个不稳定版本

0.2.0 2021年7月14日
0.1.0 2020年1月13日

#2221 in 网络编程


用于 knock-knock

BSD-2-Clause

77KB
2K SLoC

rdap_client

Rust 的异步且快速的 RDAP 客户端和解析器。

Documentation Build Status Crates.io

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
rdap_client = "0.2"
tokio = "0.2"

然后您可以使用它如下所示

use rdap_client::Client;

#[tokio::main]
async fn main() {
    let client = Client::new();
    let domain_to_check = "nic.cz";
    // Fetch boostrap from IANA.
    let bootstrap = client.fetch_bootstrap().await.unwrap();
    // Find what RDAP server to use for given domain.
    if let Some(servers) = bootstrap.dns.find(&domain_to_check) {
        let response = client.query_domain(&servers[0], domain_to_check).await.unwrap();
        println!("{}", response.handle);
    }
}

由于使用 async-await 语法,最小所需的 Rust 版本是 1.39.0。

支持的标准

支持扩展

非标准响应

并非所有 RDAP 服务器都遵循 RFC 7483,因此解析器可能无法正确解析这些响应。如果发生这种情况,请随时提交有关 rdap_client 无法解析的 URI 的问题。

有用的文章

依赖项

~5–18MB
~265K SLoC