zoukankan      html  css  js  c++  java
  • 获取ip

     #region 获得客户端IP

            /// <summary>
            /// 获得客户端IP
            /// </summary>
            /// <returns></returns>
            public string GetClientIp()
            {
                var ip = "127.0.0.1";
                //穿过代理服务器取远程用户真实IP地址
                if (HttpContext.Current == null
                    || HttpContext.Current.Request == null
                    || HttpContext.Current.Request.ServerVariables == null)
                {
                }
                //CDN加速后取到的IP     
                else if (HttpContext.Current.Request.Headers["Cdn-Src-Ip"] != null)
                {
                    ip = HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
                }
                else if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
                {
                    ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
                }
                else if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)
                {
                    ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
                }
                else if (HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"] != null)
                {
                    ip = HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"].ToString();
                }
                else if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)
                {
                    ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
                }
                else
                {
                    ip = HttpContext.Current.Request.UserHostAddress;
                }
                return ip;
            }

            #endregion 获得客户端IP

  • 相关阅读:
    Java基础之泛型——使用通配符类型参数(TryWildCard)
    Java基础之泛型——使用二叉树进行排序(TryBinaryTree)
    Java基础之泛型——使用泛型链表类型(TryGenericLinkedList)
    Java基础之序列化对象——反序列化对象(DeserializeObjects)
    Java基础之序列化对象——将对象写入到文件中(SerializeObjects)
    拷贝excel里的内容转为JSON的js代码
    asp.net 正则获取url参数
    vs2013给类添加默认注释
    日货EmEditor的使用小技巧
    express不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/sll-fuling/p/9754078.html
Copyright © 2011-2022 走看看