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

                }

            }

  • 相关阅读:
    docker--Dockerfile
    手动制作docker镜像--cnetos:6.9
    docker 容器的网络访问(端口映射)
    docker容器container
    docker镜像
    29 类中的函数重载
    28,友元的尴尬能力
    27,二阶构造模式(构造函数二阶构造)------对象初始化
    21,对象的构造顺序
    算法
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2699755.html
Copyright © 2020-2023  润新知