我在cs文件中使用此代码进入asp.net页面以获取已登录用户的IP地址:
cmd.Parameters.AddWithValue("@ip",System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
我也想拥有他的电脑名称。我该怎么做?
答案 0 :(得分:2)
这不一定是可能的。
您可以尝试使用
之类的内容从IP地址反向查找名称private string[] GetHostnamesForIpAddress(string ipAddress)
{
var hostIp= IPAddress.Parse(ipAddress);
IPHostEntry hostInfo = Dns.GetHostByAddress(hostIp);
return hostInfo.Aliases;
}
在本地网络上(您的客户端是您本地的,例如在公司网络上),这可能没问题,只要所有客户端都在DNS中具有反向IP映射。
在互联网上,为大多数客户工作的可能性要小得多。您只能继续使用IP地址,通常这些地址不会设置反向DNS映射。实际上,很多机器都会出现在代理和NAT网关之后,只有私有的,不可路由的ip地址,你不可能进行反向查找。