zoukankan      html  css  js  c++  java
  • C# .net获取电脑IP和MAC

    C# .net获取电脑IP和MAC

    /// <summary>

            /// 取得用户客户端IP(穿过代理服务器取远程用户真实IP地址)

            /// </summary>

            public static string GetClientIP()

            {

                 //如果使用代理,获取真实IP  

                string userip = string.Empty;

                if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")

                {

                    userip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

                }

                else

                {

                    userip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

                }

                if (userip == null || userip == "")

                {

                    userip = HttpContext.Current.Request.UserHostAddress;

                }

                return userip;

              

                //HttpRequest Request = HttpContext.Current.Request;

                //try

                //{

                //    if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)

                //    {

                //        return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

                //    }

                //    else

                //    {

                //        return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();

                //    }

                //}

                //catch { return "127.0.0.1"; }

            }

            //获取mac地址

            public static string GetCustomerMac()

            {

                string IP = GetClientIP();

                string dirResults = "";

                ProcessStartInfo psi = new ProcessStartInfo();

                Process proc = new Process();

                psi.FileName = "nbtstat";

                psi.RedirectStandardInput = false;

                psi.RedirectStandardOutput = true;

                psi.Arguments = "-a " + IP;

                psi.UseShellExecute = false;

                proc = Process.Start(psi);

                dirResults = proc.StandardOutput.ReadToEnd();

                proc.WaitForExit();

                //匹配mac地址

                Match m = Regex.Match(dirResults, "\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w+\\-\\w\\w");

                //若匹配成功则返回mac,否则返回找不到主机信息

                if (m.ToString() != "")

                {

                    return m.ToString();

                }

                else

                {

                    return "找不到主机信息";

                }

            }

  • 相关阅读:
    VS2010的新特性:3.新要害词 Dynamic
    VS2010的新特性:1.可选参数
    VS2010的新特性:4.简化了对 Office API 对象的访问
    VS2010的新特性:2.命实参数
    Not beside my body,but inside my heart!
    Tears...
    首乘“子弹头”列车
    What doesn't kill me makes me stronger!
    HongKong Business Trip
    胃部不适,原来好辛苦!
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2699755.html
Copyright © 2011-2022 走看看