不同(任意)DNS服务器的DNS解析
本文关键字:DNS 服务器 解析 任意 不同 | 更新日期: 2023-09-27 18:15:15
是否有可能在c#中提供DNS服务器地址来从非默认DNS服务器解析IP ?例如:我的DNS为:ns.isp.com我想用ns.other.com解析www.test.com的IP由于
如果您选择使用DNS库,如
http://www.simpledns.com/dns-client-lib.aspx值得注意的是,如果DNS服务器成功响应,则无法保证需要多少时间来响应。图书馆有一个暂停时间,但相当长,我想是30秒。
因此,DNS查找通常应该用异步线程代码编写,因此DNS查找不会阻塞整个过程。另外,你通常不希望在web服务器代码中进行DNS查找,因为响应缓慢的DNS服务器会占用所有web服务器资源。
System.Net.Dns
不支持这类查询。您应该在应用程序中实现DNS协议,codeproject中有一个很好的例子。
.NET的DNS客户端库
http://www.simpledns.com/dns-client-lib.aspx在功能列表的顶部写着:
特性- 查找任何DNS记录类型(A, AAAA, MX, SPF, SOA, SRV等)。
- 可选地指定要查询的DNS服务器(default = DNS服务器)
一个c#示例(来自网站):
Lookup IPv4 addresses for www.simpledns.com using specific DNS servers: VB.NET C#
var Options = new JHSoftware.DnsClient.RequestOptions();
Options.DnsServers = new System.Net.IPAddress[] {
System.Net.IPAddress.Parse("1.1.1.1"),
System.Net.IPAddress.Parse("2.2.2.2") };
var IPs = JHSoftware.DnsClient.LookupHost("www.simpledns.com",
JHSoftware.DnsClient.IPVersion.IPv4,
Options);
foreach(var IP in IPs)
{
Console.WriteLine(IP.ToString());
}