extern crate resolve; use std::str; use std::env::args; use resolve::{DnsConfig, DnsResolver}; use resolve::record::Txt; fn main() { let args = args().collect::>(); if args.len() != 2 { println!("Usage: {} ", args[0]); println!(" e.g. {} example.com", args[0]); return; } let config = match DnsConfig::load_default() { Ok(config) => config, Err(e) => { println!("Failed to load system configuration: {}", e); return; } }; let resolver = match DnsResolver::new(config) { Ok(resolver) => resolver, Err(e) => { println!("Failed to create DNS resolver: {}", e); return; } }; match resolver.resolve_record::(&args[1]) { Ok(records) => { for txt in records { let data = match str::from_utf8(&txt.data) { Ok(string) => string, Err(e) => { println!("Failed to decode UTF8 data: {}", e); return; } }; println!("TXT data={}", data); } } Err(e) => { println!("{}", e); return; } } }