如何获取客户端的计算机名称

时间:2014-03-08 12:23:01

标签: asp.net vb.net

我在另一篇文章中看到了这个问题,但解决方案无法正常工作。 我用:

System.Net.Dns.GetHostEntry(HttpContext.Current.Request.ServerVariables.Item("REMOTE_HOST")).HostName

这在localhost上正常工作但在服务器上它有问题并返回一个空字符串。 有什么想法吗?

3 个答案:

答案 0 :(得分:1)

需要考虑两件事:

  1. 考虑到HttpContext.Current.Request.ServerVariables.Item("REMOTE_HOST")将返回发出请求的主机的名称,而不是地址。
  2. 尝试改为System.Net.Dns.GetHostByAddress(Request.ServerVariables.Item("REMOTE_HOST")).HostName
  3. 您可以找到list of the Server Variables at Microsoft's MSDN website

    希望有所帮助,

答案 1 :(得分:1)

使用

获取客户端IP地址
HttpContext.Current.Request.UserHostAddress.ToString

HttpContext.Current.Request.UserHostName

使用客户端浏览器

HttpContext.Current.Request.Browser.Browser

答案 2 :(得分:1)

我发现VS2010中已经不建议使用“ GetHostByAddress”。 相反,请使用:System.Net.Dns.GetHostEntry(HttpContext.Current.Request.ServerVariables["REMOTE_HOST"])