zoukankan      html  css  js  c++  java
  • Asp.net获取客户端的IP地址排除::1

    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"];
                }
            }

  • 相关阅读:
    Maven使用教程
    [转载]DIV CSS设计时IE6、IE7、FF 与兼容性有关的特性
    ASP.NET MVC 开篇
    基于WebForm+EasyUI的业务管理系统形成之旅 -- ParamQueryGrid行、列合并(Ⅸ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 施工计划查询(Ⅷ)
    浅析WCF与WebService、WPF与Silverlight 区别
    LeetCode-3Sum Smaller
    LeetCode-Different Ways to Add Parentheses
    LeetCode-Count Univalue Subtrees
    LeetCode-Decode String
  • 原文地址:https://www.cnblogs.com/kingvi/p/12869262.html
Copyright © 2011-2022 走看看