C# 获取IP

来源:互联网 发布:传奇盛世翅膀数据7到8 编辑:程序博客网 时间:2024/05/17 16:47

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;

  }

原创粉丝点击