1 ASP.NET中获取IP信息
Page.Request.UserHostName; //获取客户端主机名称
Page.Request.UserHostAddress; //获取客户端主机IP地址
2 WebService中获取客户端IP信息
HttpContext.Current.Request.UserHostAddress; //获取客户端主机IP地址
在某些情况下,客户端机器在局域网内部或者通过代理来连接网络,因此Page.Request.UserHostAddress往往不能正确获取客户端IP,可以通过以下方式获取客户端实际IP。
public static string GetClientIP(HttpRequest request)
{
string ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
{
ip = request.ServerVariables["REMOTE_ADDR"];
}
if (string.IsNullOrEmpty(ip))
{
ip = request.UserHostAddress;
}
return ip;
}
3 C#网络编程通用方法
System.Net.Dns.GetHostName(); //获取主机名称
System.Net.Dns.GetHostAddresses(); //根据主机名称获取主机中所有网卡的IP地址,返回IPAddress数组