C# 获取客户端IPv4地址的示例代码

 更新时间:2020年12月18日 11:51:16   作者:IT浪潮之巅  
这篇文章主要介绍了C# 获取客户端IPv4地址的示例代码,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下

网上找了一些获取客户端IP的方法,但本地测试时,返回的是IPv6的表示方法"::1":

Host文件里面:#    ::1             localhost

后来找了获取IPv4的方法就可以了,比较好用:

public static string GetClientIPv4Address()
    {
      string ipv4 = String.Empty;
      foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
      {
        if (ip.AddressFamily.ToString() == "InterNetwork")
        {
          ipv4 = ip.ToString();
          break;
        }
      }
      if (ipv4 != String.Empty)
      {
        return ipv4;
      }
      // 利用 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;
    }

    public static string GetClientIP()
    {
      if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])
      {
        return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
      }
      else
      {
        return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
      }
    }

以上就是C# 获取客户端IPv4地址的示例代码的详细内容,更多关于c# 获取ipv4地址的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现自定义圆角按钮的方法

    C#实现自定义圆角按钮的方法

    Winform中自带的button没有圆角属性,所以我们继承Button类,重写OnPaint事件来绘制圆角按钮。下面通过实例代码给大家介绍下C#实现自定义圆角按钮的方法,需要的朋友参考下吧
    2021-11-11
  • C#实现的Win32控制台线程计时器功能示例

    C#实现的Win32控制台线程计时器功能示例

    这篇文章主要介绍了C#实现的Win32控制台线程计时器功能,结合实例形式分析了C#基于控制台的时间操作相关技巧,需要的朋友可以参考下
    2016-08-08
  • Unity3D创建圆柱体的方法

    Unity3D创建圆柱体的方法

    这篇文章主要为大家详细介绍了Unity3D创建圆柱体的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • C# Razor语法规则

    C# Razor语法规则

    这篇文章介绍了C# Razor的语法规则,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#子线程更新UI控件的方法实例总结

    C#子线程更新UI控件的方法实例总结

    这篇文章主要介绍了C#子线程更新UI控件的方法,在桌面应用程序中控制UI界面有着不错的实用价值,需要的朋友可以参考下
    2014-09-09
  • 基于C#实现图片滑动验证码的示例代码

    基于C#实现图片滑动验证码的示例代码

    这篇文章主要为大家介绍了如何利用C#语言制作一个图片滑动验证码,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-04-04
  • C#获取应用程序路径或Web页面目录路径

    C#获取应用程序路径或Web页面目录路径

    这篇文章介绍了C#获取应用程序路径或Web页面目录路径的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#获取系统当前日期和时间的示例详解

    C#获取系统当前日期和时间的示例详解

    这篇文章主要为大家详细介绍了C#如何使用DateTime的Now静态属性动态获得系统当前日期和时间,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-01-01
  • C#实现梳排序的使用示例

    C#实现梳排序的使用示例

    梳排序算法是一种改进的冒泡排序算法,它通过调整冒泡排序的间隔来提高排序的效率,本文主要介绍了C#实现梳排序的使用示例,感兴趣的可以了解一下
    2023-11-11
  • rsa加密算法使用示例分享

    rsa加密算法使用示例分享

    这篇文章主要介绍了rsa加密算法使用示例,代码中有注释,大家参考使用吧
    2014-01-01

最新评论