• C# Web 获取客户端IP


    #region 获取web客户端ip

            /// <summary>
            /// 获取web客户端ip
            /// </summary>
            /// <returns></returns>
            public static string GetWebClientIp()
            {
             
                    string userIP = "未获取用户IP";
     
                    try
                    {
                        if (System.Web.HttpContext.Current == null
                    || System.Web.HttpContext.Current.Request == null
                    || System.Web.HttpContext.Current.Request.ServerVariables == null)
                            return "";
     
                        string CustomerIP = "";
     
                        //CDN加速后取到的IP simone 090805
                        CustomerIP = System.Web.HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
                        if (!string.IsNullOrEmpty(CustomerIP))
                        {
                            return CustomerIP;
                        }
     
                        CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
     
                       
                        if (!String.IsNullOrEmpty(CustomerIP))
                            return CustomerIP;
     
                        if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
                        {
                            CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                            if (CustomerIP == null)
                                CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                        }
                        else
                        {
                            CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
     
                        }
     
                        if (string.Compare(CustomerIP, "unknown", true) == 0)
                            return System.Web.HttpContext.Current.Request.UserHostAddress;
                        return CustomerIP;
                    }
                    catch { }
     
                    return userIP;
               
            }
            #endregion
  • 相关阅读:
    Kotlin函数之fun?function?
    Kotlin什么是top-level?
    Kotlin基础类型
    Hello,Kotlin!
    delphi 窗体自适应屏幕分辨率
    关于 Delphi 中流的使用(7) 压缩与解压缩(TCompressionStream、TDecompressionStream)
    delphi视频聊天
    两个DataGridEHToExcel
    用Delphi实现网络视频编程
    delphi Base64编码/解码及数据压缩/解压知识
  • 原文地址:https://www.cnblogs.com/jimcsharp/p/2733571.html
Copyright © 2020-2023  润新知