如何在经典ASP中找到客户端计算机名称?

时间:2013-08-19 17:05:40

标签: asp-classic

我知道如何获取IP地址,但有没有办法让我获取客户端计算机名称?

addr = request.servervariables("REMOTE_ADDR")

2 个答案:

答案 0 :(得分:2)

你做不到。 HTTP不传输该信息。一个Windows网络,不是HTTP。

答案 1 :(得分:0)

对我有用的唯一方法是让一些本地VBScript发回信息 - 这只能在IE中使用。

因为我在公司内部网上工作,我知道每个人都在使用IE,所以这是一个可行的解决方案。在最近的更新中,我最终将一些代码(特别是发回机器名称)迁移到已部署的HTA(HTML应用程序)。由于HTA仅在Windows上运行,并且始终使用IE渲染引擎,因此它消除了我们对可能在非IE浏览器上访问它的人们所关注的一些问题。

在扩展名为.hta的文本文件中,我们有以下内容将服务器名称发送回服务器:

<HTML>
<HEAD>
<TITLE>Full Name of App</TITLE>
<HTA:APPLICATION ID="AppID" APPLICATIONNAME="AppID" SHOWINTASKBAR="yes"
      SINGLEINSTANCE = "yes" WINDOWSTATE="maximize" ICON="http://example.com/favicon.ico">
<STYLE TYPE="text/css">
html, body {margin:0px;padding:0px;}
iframe {margin:0px;}
</STYLE>
</HEAD>
<BODY scroll="no">
<script type="text/vbscript">
    Set objNet = CreateObject("WScript.NetWork")
    document.write("<iframe id=""frmClient"" trusted=""yes"" src=""http://example.com/projects/projectname/default.asp?Workstation=" & objNet.ComputerName & """ WIDTH=""100%"" HEIGHT=""100%""></IFRAME>")
    Set objNet = Nothing
</script>
</BODY>
</HTML>

显然这可能不适合你,取决于你可能使用或不能使用的东西 - 我想我会发布这个以防它对我的使用有类似限制的人有用。