.NET Core解析DNS域名或主机名的方法
在.NET Core中我们可以用System.Net.Dns类来解析域名或主机名的IP地址,我们新建一个.NET Core控制台项目,写入下面代码:
using System; using System.Net; namespace NetCoreDns { class Program { static void Main(string[] args) { string remoteHostName = string.Empty; Console.Write("请输入要解析的域名或主机名:"); remoteHostName = Console.ReadLine(); IPAddress[] ips = null; try { ips = Dns.GetHostAddresses(remoteHostName);//Dns.GetHostAddresses方法根据传入的域名或主机名,获取绑定的IP地址 } catch (System.Net.Sockets.SocketException sex)//如果Dns.GetHostAddresses方法解析域名或主机名的IP地址失败,会抛出SocketException异常 { Console.WriteLine($"域名或主机名{remoteHostName}无法被成功解析!"); } if (ips != null && ips.Length >= 1) { Console.WriteLine("该域名或主机名的IP地址如下:"); foreach (var ip in ips) { Console.WriteLine(ip.ToString());//循环显示获取到的所有IP地址 } } Console.WriteLine($"本机名为:{Dns.GetHostName()}");//Dns.GetHostName方法获取本机名 Console.WriteLine($"根据指定的主机名获取DNS信息:{Dns.GetHostEntry(Dns.GetHostName()).HostName}");//Dns.GetHostEntry方法根据指定的主机名获取DNS信息 Console.WriteLine("按任意键结束程序运行..."); Console.ReadKey(); } } }
运行代码,我们输入百度的域名:www.baidu.com,结果如下:
我们在Web浏览器中输入获取到的IP地址:61.135.169.121,可以访问到百度的首页:
所以,这样我们就可以成功解析域名或主机名的IP地址了。