2017-05-01 105 views
1

在.NET中就可以使DNS GetHostEntry - 如何指定DNS服務器? .NET

Dns.GetHostEntry(hostname) 

這將使用你的網絡設置中的DNS條目做DNS查找一個電話,但我想指定DNS服務器8.8.8.8做一下在不改變網絡設置中的DNS設置的情況下。

這可以完成嗎?

+0

,可以用[此](https://www.codeproject.com/Articles/12072/C-NET-DNS-query-component)組件。 – Xaqron

回答

0

.NET還沒有內建,但是可以使用NuGet包,它可以根據您選擇的DNS服務器進行實際的DNS查找。

DnsClient.NET就是其中之一。它還具有創建具有類似語法的主機條目的方法。

實施例:

var endpoint = new IPEndPoint(NameServer.GooglePublicDns);  
var lookup = new LookupClient(endpoint); 

IPHostEntry hostEntry = lookup.GetHostEntry(hostOrIp); 
Console.WriteLine(hostEntry.HostName); 
foreach (var ip in hostEntry.AddressList) 
{ 
    Console.WriteLine(ip); 
} 
foreach (var alias in hostEntry.Aliases) 
{ 
    Console.WriteLine(alias); 
}