C# 获取IP
2013-02-17 17:26
369 查看
public string GetClientIPv4()
{
String ipv4 ="";
foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
if (ipv4 != String.Empty)
{
return ipv4;
}
// 原代码使用 Dns.GetHostName 方法取回的是 Server 端资料,非 Client 端。
// 改为利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 记录,
// 再逐一判断是否属于 IPv4 协议定,如果是转换为 IPv4 地址。
foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
//foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
return ipv4;
}
{
String ipv4 ="";
foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
if (ipv4 != String.Empty)
{
return ipv4;
}
// 原代码使用 Dns.GetHostName 方法取回的是 Server 端资料,非 Client 端。
// 改为利用 Dns.GetHostEntry 方法,由获取的 IPv6 位址反查 DNS 记录,
// 再逐一判断是否属于 IPv4 协议定,如果是转换为 IPv4 地址。
foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
//foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
ipv4 = ip.ToString();
break;
}
}
return ipv4;
}
相关文章推荐
- 【转】C# 获取主机IP,Mac
- c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明-->防止SQL的注入
- 利用C#获取计算机名,IP,MAC信息
- C#获取本机相关mac和ip信息以及服务器ip
- C#获取本机外网IP最简单办法
- c#.net如何获取本机ip
- C#获取本机IP和MAC
- C# .net 如何根据访问者IP获取所在地区
- c#(WinForm)遍历局域网计算机(电脑)获取IP和计算机名称
- C#获取本地计算机名,IP,MAC(物理)地址(转)
- c#(asp.net)获取机器信息(IP)(MAC)(机器名)(CPU编号)(主硬盘编号)
- c#ip138自动获取代码
- C#获取指定IP的主机名
- c#中获取服务器IP,客户端IP以及其它
- 【转】C#获取本机IP搜集整理几种方法
- C# 获取局域网ip
- C#获取内、外网IP的类
- C#获取客服端ip和用户名
- 用C#编写获取远程IP,MAC的方法
- C# 获取本机IP地址以及转换字符串