如何在没有任何 crate 的情况下进行 DNS 查找?

Gue*_*OCs 7 dns rust

在不使用任何 crate 的情况下,如何使用系统的 DNS 解析器进行简单的 DNS 查找?

Gue*_*OCs 10

根据https://doc.rust-lang.org/std/net/trait.ToSocketAddrs.html#examples

use std::net::{SocketAddr, ToSocketAddrs};

// assuming 'localhost' resolves to 127.0.0.1
let mut addrs_iter = "localhost:443".to_socket_addrs().unwrap();
assert_eq!(addrs_iter.next(), Some(SocketAddr::from(([127, 0, 0, 1], 443))));
Run Code Online (Sandbox Code Playgroud)

  • 这只会解析一个 IP 地址。但 DNS 更强大 - 有 TXT、MX、PTR、CNAME 等,各种不同的记录类型,您无法通过这种方法访问 (5认同)