C#中获取IP

来源:互联网 发布:昆山远洋数据招聘信息 编辑:程序博客网 时间:2024/06/07 12:06
        public string GetRequestIP() 
        {
            string userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];    //如果客户端使用代理服务器,用此方法
            if (userIP == null || userIP == "")
            {
                userIP = Request.ServerVariables["REMOTE_ADDR"];                             //没有使用代理时
            }
            if ("::1".Equals(userIP))                                                                                  //如果是localhost,则获取本机地址                            
            {
                userIP = GetCurrentMachineIPAddress();                                                  //调用下面方法的
            }
            return userIP;
        }

//下面代码即(Dns.GetHostName()是获取服务器的主机名,因为cs代码是在服务器运行的
        public static string GetCurrentMachineIPAddress()
        {
            string _address = string.Empty;
            IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());    //主机名:Richard_dzh   
            foreach (IPAddress ip in ips)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)   //当等于IP4时
                {
                    _address = ip.ToString();
                    break;
                }
            }
            return _address;
        } 
0 0