/rdap_client

Async and fast RDAP client and parser for Rust.

Primary LanguageRustBSD 2-Clause "Simplified" LicenseBSD-2-Clause

rdap_client

Async and fast RDAP client and parser for Rust.

Documentation Build Status Crates.io

Usage

Add this to your Cargo.toml:

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

and then you can use it like this:

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);
    }
}

Supported standards

Supported extensions

Non standard responses

Not all RDAP servers follows RFC 7483 and then parser cannot parse that responses correctly. If that happend, feel free to open issue with URI that rdap_client could not parse.

Useful articles