如何使用Javascript获取客户端的IP地址

如何使用Javascript获取客户端的IP地址,javascript,asp-classic,ssi,Javascript,Asp Classic,Ssi,嗨,请让我知道如何获得客户端IP地址。我使用了以下方法 Ip = <--#echo var="REMOTE_ADDR"-->; ip = '<%= Request.UserHostAddress>'; Ip=; ip=''; 但是这些都不起作用。试试看 ip = '<%= Request.UserHostAddress %>'; ip=”; 您无法使用纯Javascript获取IP。您提供的两个解决方案都需要服务器端脚本。单靠JavaScript无法做

嗨,请让我知道如何获得客户端IP地址。我使用了以下方法

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

ip = '<%= Request.UserHostAddress>';
Ip=;
ip='';
但是这些都不起作用。

试试看

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

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

单靠JavaScript无法做到这一点,在我看来,您试图在客户端使用服务器端代码,这是行不通的

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

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

echo '<script type="text/javascript">var USER_IP = ' + getRemoteAddess() + ';</script>'
echo'var USER_IP='+getRemoteAddess()+';'
这将在页面中引入一个名为
USER\u IP
的全局变量,确保使用此变量的代码位于上述脚本标记之后

大多数web服务器(我假设您使用的是IIS)在远程地址中提供此信息

您的示例尝试使用经典ASP和服务器端包含获取服务器的变量,在现代IIS web服务器上默认情况下,这两个选项都已关闭。您可能需要启用经典ASP或SSI,或使用尝试以下操作:

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

var ip=“”;
警报(ip);

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

使用以下代码在asp Classic中获取ip地址

<%
Dim UserIPAddress
UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If UserIPAddress = "" Then
UserIPAddress = Request.ServerVariables("REMOTE_ADDR")
End If
%>

如果有人在寻找PHP解决方案,您可以这样做:

<?php echo $_SERVER['REMOTE_ADDR']; ?>
tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);

例如,如果在JS数组中传递它,它将如下所示:

<?php echo $_SERVER['REMOTE_ADDR']; ?>
tr._setSomeVar(5, "Remote Address", "<?php echo $_SERVER['REMOTE_ADDR']; ?>", 9);
tr._setSomeVar(5,“远程地址”,9);

你的服务器端语言是什么?重复的(除非你有一种服务器端语言,在这种情况下是可能的,但它不仅仅是Javascript)。你能提供一些关于你的环境的更多信息吗,上面两个看起来都是经典的ASP代码片段。@SpikeX——这里的问题看起来像提问者在经典的ASP环境中使用JScript,这使得这个问题与使用客户端JavaScript获取用户IP的问题完全不同。看起来OP使用JScript ASP classic server side我启用ssi,我使用IP='';但是它没有正确显示这是典型的ASP方式——使用SSI尝试您的第一个示例,
第一个链接已损坏。我想使用javascript提醒ip地址,所以我使用了您的上述代码,但这对我不起作用