Sample code for 30+ languages & platforms
Rust

Revert to Default DNS Nameservers

See more DNS Examples

Demonstrates how to revert back to the default nameservers of the local system where your application is running.

Note: This example requires Chilkat v9.5.0.96 or later.

Chilkat Rust Downloads

Rust
// The only reason you would have to revert back to the local system's default nameservers
// is if your application had previously set different nameservers, and you wish to revert back.

// When your application starts, the DNS nameservers to be used are the default nameservers
// configured on the system where your application is running.

// There is one exception: Chilkat defaults to using the public Google nameservers (8.8.8.8 and 8.8.4.4) for
// Android applications. Reverting to the default nameservers would revert to the Google nameservers.

// However, Chilkat does not query the local system for the default nameservers unless Chilkat needs
// to do a DNS lookup and there not yet any DNS nameservers defined.  Thus technically, when your application
// starts, there are no default nameservers. They are auto-assigned when first needed.

// If your application explicitly defines DNS nameservers, such as by calling AddDefaultnamervers, or AddNameserver
// then Chilkat will not automatically auto-assign.

let dns = chilkat::Dns::new();

// Here we are explicitly adding the system default nameservers, because technically this application
// has not yet done anything that would require a DNS lookup, and thus DNS nameservers are not yet defined.
// Your default nameserver is assumed to not support TLS.
dns.add_default_nameservers();

// Let's examine our nameservers
let mut ns_count = dns.num_nameservers();
let mut i = 0;
while i < ns_count {
    println!("{}: {}", i + 1, dns.get_nameserver(i).unwrap_or_default());
    i = i + 1;
}

// On my Windows system, the result is a single nameserver at 
// 1: 172.16.16.16

// ---------------------------------------------------------
// We could add additional nameservers, such as Google and Cloudfare
let supports_tls = true;
// Cloudfare
dns.add_nameserver("1.1.1.1", supports_tls);
// Google
dns.add_nameserver("8.8.8.8", supports_tls);

// See the nameservers now used by Chilkat
ns_count = dns.num_nameservers();
i = 0;
while i < ns_count {
    println!("{}: {}", i + 1, dns.get_nameserver(i).unwrap_or_default());
    i = i + 1;
}

// Result:
// 1: 172.16.16.16
// 2: 1.1.1.1
// 3: 8.8.8.8

// ---------------------------------------------------------
// To revert back to the system default nameservers, clear all
// then re-add the default.
dns.remove_all_nameservers();
dns.add_default_nameservers();

// See the nameservers now used by Chilkat
ns_count = dns.num_nameservers();
i = 0;
while i < ns_count {
    println!("{}: {}", i + 1, dns.get_nameserver(i).unwrap_or_default());
    i = i + 1;
}

// Result:
// 1: 172.16.16.16