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