C#编程获取IP地址的方法示例
1. 通过系统API获取当前计算机的IP地址
Windows的API提供了获取IP地址的方法,下面是一个示例代码:
using System.Net;
using System.Linq;
/// <summary>
/// 获取计算机所有IP地址,返回IP地址数组
/// </summary>
/// <returns>IP地址数组</returns>
public static string[] GetLocalIPAddresses()
{
string[] result =
Dns.GetHostEntry(Dns.GetHostName())
.AddressList
.Where(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
.Select(ip => ip.ToString())
.ToArray();
return result;
}
上面的代码使用了System.Net
命名空间,通过调用Dns.GetHostEntry()
方法和LINQ技术,获取当前计算机的IP地址列表,返回一个字符串数组。
2. 使用第三方API获取IP地址
除了Windows系统提供的API外,还有很多第三方提供的API可供使用。常用的是ipify.org
,下面是一个示例代码:
using System.Net;
using System.IO;
/// <summary>
/// 获取Internet IP地址
/// </summary>
/// <returns>IP地址</returns>
public static string GetInternetIPAddress()
{
string result = "";
string url = "https://api.ipify.org";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 10000;
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
return result;
}
上面的代码使用了System.Net
和System.IO
命名空间,使用HttpWebRequest
和HttpWebResponse
类发送HTTP请求,并通过StreamReader
读取响应结果。
以上就是C#编程获取IP地址的方法示例,供大家参考。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#编程获取IP地址的方法示例 - Python技术站