.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地址了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM