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 "找不到主机信息";

                }

            }

  • 相关阅读:
    SSD5_Optional Exercise 5分析
    SSD5_Optional Exercise 3分析
    SSD5_Optional Exercise 1 分析
    SSD5_Optional Exercise 4不会
    SSD5_ Exercise 2分析
    SSD5_Optional Exercise 2分析
    SSD5_Exercise 3分析
    SSD5_Recommended Exercise 4 分析
    2013蓝桥杯C语言本科组B
    hdu 1316 How Many Fibs?【JAVA大数】
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2699755.html
Copyright © 2011-2022 走看看