C#获取IP等网络信息

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数组

你可能感兴趣的:(编程,网络,C#,asp.net)