Crates.io | nscd-lookup |
lib.rs | nscd-lookup |
version | 0.1.5 |
created_at | 2025-02-28 19:28:55.339888+00 |
updated_at | 2025-03-10 12:27:25.087162+00 |
description | Look up IP addresses using nscd |
homepage | |
repository | https://github.com/Kijewski/nscd-lookup |
max_upload_size | |
id | 1573089 |
size | 74,222 |
Explicitly querying nscd
might come in handy
if your program runs in a container or jail without direct internet access, but you still need to
look up a domain name for some reason.
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
use nscd_lookup::sync::lookup;
let localhost: Vec<IpAddr> = lookup("localhost", &mut Vec::new(), None)
.expect("should be able to look up addresses")
.expect("address list should not be empty")
.collect();
assert!(localhost.contains(&IpAddr::V4(Ipv4Addr::LOCALHOST)));
assert!(localhost.contains(&IpAddr::V6(Ipv6Addr::LOCALHOST)));
Or with the feature "tokio"
:
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
use nscd_lookup::tokio::lookup;
let localhost: Vec<IpAddr> = lookup("localhost", &mut Vec::new(), None)
.await
.expect("should be able to look up addresses")
.expect("address list should not be empty")
.collect();
assert!(localhost.contains(&IpAddr::V4(Ipv4Addr::LOCALHOST)));
assert!(localhost.contains(&IpAddr::V6(Ipv6Addr::LOCALHOST)));
The feature "reqwest"
enables a resolver that can be used in reqwest clients.