来自于:婕舞飞扬
/// <summary> ....../// <summary>/// 获取当前请求的IP地址/// </summary>/// <returns></returns>public static string GetIP(){//获取IP地址HttpRequest request = HttpContext.Current.Request;string ipAddress=string.Empty;if(request.ServerVariables["HTTP_X_FORWARDED_FOR"]==null || request.ServerVariables["HTTP_X_FORWARDED_FOR"]==""){ipAddress = request.ServerVariables["REMOTE_ADDR"];}else if(request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(",")>=0){int index = request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(",");ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(0,index-1);}else if(request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(";")>=0){int index = request.ServerVariables["HTTP_X_FORWARDED_FOR"].IndexOf(";");ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"].Substring(0,index-1);}else{ipAddress = request.ServerVariables["HTTP_X_FORWARDED_FOR"];}if(ipAddress=="127.0.0.1"){ipAddress = GetLocalhostIPAddress();}return ipAddress;}/// <summary>/// 获取本机IP/// </summary>/// <returns></returns>private static string GetLocalhostIPAddress(){string hostName = System.Net.Dns.GetHostName();System.Net.IPHostEntry hostInfo =System.Net.Dns.GetHostByName(hostName);System.Net.IPAddress[] IpAddr = hostInfo.AddressList;string localIP = string.Empty;for (int i = 0; i < IpAddr.Length; i++){localIP += IpAddr[i].ToString();}return localIP;}
以上获取的IP地址有可能会使代理服务器的IP
在ASP.NET中专用属性:
获取服务器电脑名: Page.Server.ManchineName
获取用户信息: Page.User
获取客户端电脑名:Page.Request.UserHostName
获取客户端电脑IP: Page.Request.UserHostAddress在网络编程中的通用方法:
获取当前电脑名: static System.Net.Dns.GetHostName()
根据电脑名取出全部IP地址: static System.Net.Dns.Resolve(电脑名).AddressList
也可根据IP地址取出电脑名: static System.Net.Dns.Resolve(IP地址).HostName系统环境类的通用属性:
当前电脑名: static System.Environment.MachineName
当前电脑所属网域: static System.Environment.UserDomainName
当前电脑用户: static System.Environment.UserName
