您的位置:首页 > 编程语言 > ASP

用asp获取服务器IP和客户端IP

2015-07-27 16:22 405 查看
之前用
Request.ServerVariables.Get("Local_Addr").ToString();//获取服务器IP

获取服务器IP,发现获取到的是::1

后来百度了一下,发现获取到的是IPv6的IP,于是就写了下面的代码来获取服务器IP

serverIP = "";
foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.ServerVariables.Get("Local_Addr").ToString()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
serverIP = IPA.ToString();
break;
}
}
if (serverIP != String.Empty)
{
Response.write(serverIP);
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
serverIP = IPA.ToString();
break;
}
}

经过测试,IP地址显示正常
同理,获取客户端IP可以写成:string _ip = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(HttpContext.Current.Request.UserHostAddress))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
_ip = IPA.ToString();
break;
}
}
if (_ip != String.Empty)
{
Response.write(_ip);
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
_ip = IPA.ToString();
break;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: