3

嗨,请告诉我如何获取客户端 IP 地址。我使用了以下 .

Ip = <--#echo var="REMOTE_ADDR"-->;

ip = '<%= Request.UserHostAddress>';

但这些都行不通。

4

7 回答 7

4

使用以下代码获取 ASP Classic 中的 IP 地址

<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserIPAddress = "" Then
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
%>
于 2011-07-28T10:18:51.423 回答
2

大多数 Web 服务器(我假设您使用的是 IIS)在 REMOTE_ADDR Environment Variable中提供此信息。

您的示例正在尝试使用 Classic ASP 和 Server Side Includes 获取服务器的变量,在现代 IIS Web 服务器上,这两者都默认关闭。您可能需要启用经典 ASP 或 SSI,或使用ASP.NET 使用 ServerVariables 属性

于 2011-01-12T22:18:16.537 回答
2

试试这个:

<script type="text/javascript">
    var ip = "<%=Request.ServerVariables("REMOTE_ADDR")%>";
    alert(ip);
</script>

假设这是.asp页面,您应该会看到带有您的 IP 地址的警报。

于 2011-01-12T22:47:34.387 回答
1

你不能单独使用 JavaScript 来做到这一点,在我看来你试图在客户端上使用服务器端代码,这是行不通的。

最简单、最快(也是最丑陋)的做法是将 s*服务器端的 IP 输出到发送给用户的页面上的脚本标记中。

不知道您在服务器端使用的是哪种语言,所以我将为您提供一些伪代码。

echo '<script type="text/javascript">var USER_IP = ' + getRemoteAddess() + ';</script>'

这将在页面中引入一个调用的全局变量USER_IP,确保使用该变量的代码位于上述脚本标记之后。

于 2011-01-12T15:41:51.247 回答
0

尝试

ip = '<%= Request.UserHostAddress %>';
于 2011-01-12T15:39:34.267 回答
0

您无法使用纯 Javascript 获取 IP。您提供的两个解决方案需要服务器端脚本。

于 2011-01-12T15:41:40.840 回答
0

作为记录,如果有人正在寻找 PHP 解决方案,您只需这样做:

<?php echo $_SERVER['REMOTE_ADDR']; ?>

例如,如果你在一个 JS 数组中传递它,它看起来像这样:

tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);
于 2012-07-03T22:16:07.643 回答