欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何在C#中獲取計算機的IP地址

admin
2024年12月26日 10:4 本文熱度 249

前言

 IP地址(Internet Protocol Address)是網(wǎng)絡(luò)上設(shè)備的唯一標(biāo)識符。IP 地址主要有本地IP地址網(wǎng)IP地址兩種類型。本文將介紹如何在C#中實現(xiàn)獲取IP地址的方法。

獲取本地IP地址

本地IP地址是用于本地網(wǎng)絡(luò)中的設(shè)備(192.168.x.x)。如果我們要獲取本地IP地址,則可以通過使用System.Net命名空間提供用于處理與網(wǎng)絡(luò)相關(guān)的操作的類和方法。

示例:使用DNS的GetHostEntry方法獲取主機IP地址:

using System.Net;
namespace Fountian.WinConsole.IPDemo{    internal class Program    {        /// <summary>        ///         /// </summary>        /// <param name="args"></param>        /// <returns></returns>              static async Task Main(string[] args)        {            string localIP = LocalIPAddress();            Console.WriteLine($"本地 IP 地址: {localIP}");            Console.Read();        }    }}
/// <summary>/// 獲取本地 IP 地址/// </summary>/// <returns></returns>/// <exception cref="Exception"></exception>public static string LocalIPAddress(){    var host = Dns.GetHostEntry(Dns.GetHostName());    // 獲取第一個IP地址    var ipAddress = host.AddressList    .FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);    if (ipAddress == null)    {        throw new Exception("找不到此計算機的IPv4地址");    }    return ipAddress.ToString();}

如果電腦有多個網(wǎng)絡(luò)接口(例如:以太網(wǎng)或Wi-Fi),則需要通過指定要查詢的網(wǎng)絡(luò)接口。可以使用NetworkInterface類進行更精細(xì)的控制。

示例:枚舉所有網(wǎng)絡(luò)接口的IP地址:

using System.Net;using System.Net.NetworkInformation;using System.Net.Sockets;
namespace Fountian.WinConsole.IPDemo{    internal class Program    {        /// <summary>        ///         /// </summary>        /// <param name="args"></param>        /// <returns></returns>              static async Task Main(string[] args)        {            foreach (var localIP in GetAllLocalIPAddresses())            {                Console.WriteLine($"本地IP地址: {localIP}");            }            Console.Read();        }    }}
/// <summary>///  獲取本地IP地址列表/// </summary>/// <returns></returns>public static string[] GetAllLocalIPAddresses(){    var ipAddressList = NetworkInterface.GetAllNetworkInterfaces()        .Where(n => n.OperationalStatus == OperationalStatus.Up)        .SelectMany(n => n.GetIPProperties().UnicastAddresses)        .Where(a => a.Address.AddressFamily == AddressFamily.InterNetwork)        .Select(a => a.Address.ToString())        .ToArray();    return ipAddressList;}

獲取外網(wǎng)IP地址

獲取外網(wǎng)IP地址無法直接從本地系統(tǒng)獲取,因為它是由路由器或ISP管理。如果我們需要獲取外網(wǎng)IP地址,則可以通過使用調(diào)用外部服務(wù)查詢。

示例:使用 HttpClient 類調(diào)用外部服務(wù)的方法查詢外網(wǎng)IP地址,下面是通過訪問 http://ifconfig.me/ip 獲取,當(dāng)然還可以使用其它的外部服務(wù)。

using System.Net;
namespace Fountian.WinConsole.IPDemo{    internal class Program    {        /// <summary>        ///         /// </summary>        /// <param name="args"></param>        /// <returns></returns>              static async Task Main(string[] args)        {            string publicIP = await GetPublicIPAddressAsync();            Console.WriteLine($"外網(wǎng) IP 地址: {publicIP}");            Console.Read();        }    }}
/// <summary>/// 獲取外網(wǎng) IP 地址/// </summary>/// <returns></returns>public static async Task<string> GetPublicIPAddressAsync(){    using (var client = new HttpClient())    {        string url = "http://ifconfig.me/ip";        var response = await client.GetStringAsync(url);        return response.Trim();    }}
注意:網(wǎng)絡(luò)請求可能由于各種原因(如沒有 Internet)而失敗。需要正常處理異常。

小結(jié)

以上使用C#實現(xiàn)獲取本地IP地址與外網(wǎng)IP地址方法中的其中一種方式,如果需要兼容IPv6,那我們獲取時則需考慮IPv6。


該文章在 2024/12/26 10:04:17 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved