嗨,请告诉我如何获取客户端 IP 地址。我使用了以下 .
Ip = <--#echo var="REMOTE_ADDR"-->;
ip = '<%= Request.UserHostAddress>';
但这些都行不通。
嗨,请告诉我如何获取客户端 IP 地址。我使用了以下 .
Ip = <--#echo var="REMOTE_ADDR"-->;
ip = '<%= Request.UserHostAddress>';
但这些都行不通。
使用以下代码获取 ASP Classic 中的 IP 地址
<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserIPAddress = "" Then
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
%>
大多数 Web 服务器(我假设您使用的是 IIS)在 REMOTE_ADDR Environment Variable中提供此信息。
您的示例正在尝试使用 Classic ASP 和 Server Side Includes 获取服务器的变量,在现代 IIS Web 服务器上,这两者都默认关闭。您可能需要启用经典 ASP 或 SSI,或使用ASP.NET 使用 ServerVariables 属性
试试这个:
<script type="text/javascript">
var ip = "<%=Request.ServerVariables("REMOTE_ADDR")%>";
alert(ip);
</script>
假设这是.asp
页面,您应该会看到带有您的 IP 地址的警报。
你不能单独使用 JavaScript 来做到这一点,在我看来你试图在客户端上使用服务器端代码,这是行不通的。
最简单、最快(也是最丑陋)的做法是将 s*服务器端的 IP 输出到发送给用户的页面上的脚本标记中。
不知道您在服务器端使用的是哪种语言,所以我将为您提供一些伪代码。
echo '<script type="text/javascript">var USER_IP = ' + getRemoteAddess() + ';</script>'
这将在页面中引入一个调用的全局变量USER_IP
,确保使用该变量的代码位于上述脚本标记之后。
尝试
ip = '<%= Request.UserHostAddress %>';
您无法使用纯 Javascript 获取 IP。您提供的两个解决方案需要服务器端脚本。
作为记录,如果有人正在寻找 PHP 解决方案,您只需这样做:
<?php echo $_SERVER['REMOTE_ADDR']; ?>
例如,如果你在一个 JS 数组中传递它,它看起来像这样:
tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);