【问题标题】:How do I get the name of the computer accessing my web page in VB?如何在VB中获取访问我的网页的计算机名称?
【发布时间】:2014-03-20 23:37:51
【问题描述】:

我已经尝试过这些方法:

  • System.Net.Dns.GetHostName
  • Environment.MachineName
  • My.Computer.Name
  • Environ$("computername")

每个都返回 APPDEV,我假设它是托管我的网页的服务器的名称。
我什至请朋友们用这些方法尝试我的页面,他们看到的都是一样的。
如何让它返回初始设置时输入的 PC 名称,例如 Joseph-PC?

【问题讨论】:

    标签: vb.net computer-name


    【解决方案1】:

    由于浏览器不会将计算机名称告知服务器,因此网页(谢天谢地)无法知道您的计算机名称。

    【讨论】:

    • 啊,所以我当时在做一个绝望的任务。哦,好吧,否则会很酷。
    • 在像公司内网这样的网页上,使用 Markus 建议的方法,您也许可以找到计算机的名称。但在互联网上,这几乎是不可能的。
    【解决方案2】:

    你可以试试HttpContext.Current.Request.UserHostName。同样,UserHostAddress 检索客户端的 IP。但由于(合法的)隐私或网络(NAT、代理......)的原因,此信息在大多数情况下可能无效。所以我不会依赖数据的存在或有效性。

    如果在 UserHostName 中为您提供了 IP 地址,您可以使用 System.Net.Dns.GetHostEntry 进行 DNS 反向查找以查找该名称。这也可能并非在所有情况下都有效,因为并非每个客户端都在 DNS 服务器上注册。

    【讨论】:

    • HttpContext.Current.Request.UserHostName 返回 IP,而不是 PC 名称。无论如何,谢谢。
    • @JosephWebber:正如我所写,不要依赖信息的有效性。您仍然可以尝试进行反向查找以获取名称。我已经更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2014-01-25
    • 1970-01-01
    • 2011-04-02
    • 2011-09-04
    • 2011-05-03
    • 2010-12-18
    相关资源
    最近更新 更多