【发布时间】:2017-05-01 17:27:41
【问题描述】:
在 .NET 中,您可以调用
Dns.GetHostEntry(hostname)
这使用网络设置中的 DNS 条目进行 DNS 查找,但我想指定 DNS 服务器 8.8.8.8 进行查找,而不更改网络设置中的 DNS 设置。
这可以实现吗?
【问题讨论】:
-
可以使用this组件。
在 .NET 中,您可以调用
Dns.GetHostEntry(hostname)
这使用网络设置中的 DNS 条目进行 DNS 查找,但我想指定 DNS 服务器 8.8.8.8 进行查找,而不更改网络设置中的 DNS 设置。
这可以实现吗?
【问题讨论】:
.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);
}
【讨论】: