如何从浏览器中读取客户端的机器IP地址?特别是我需要为Internet Explorer执行此操作,因为我们正在运行我们的Intranet应用程序。我可以使用以下代码获取机器名称 -
var network = new ActiveXObject('WScript.Network');
console.log(network.computerName);
非常感谢任何解决方案/想法。我很适合applet /任何服务器端编码。感谢。
答案 0 :(得分:1)
可以使用任何在线服务,例如freegeoip.net:
$.ajax({
url: '//freegeoip.net/json/',
datatype: 'json',
method: 'get',
success: function(data) {
$('pre').html("IP Addr::::" + data.ip);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre></pre>
答案 1 :(得分:1)
如果客户端位于代理或防火墙之后,应该使用此方法
request.getHeader("X-FORWARDED-FOR")
如果客户端未使用代理或不在任何防火墙之后
request.getRemoteAddr();
应该可以正常工作 所以最后总结一下整个代码应该是
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if(ipAddress == null)
{
ipAddress = request.getRemoteAddr();
}
System.out.println("ipAddress:"+ipAddress);
您应该查看这些链接 jsp get ip address http://www.coderanch.com/t/293684/JSP/java/client-IP-address-Domain-Java
答案 2 :(得分:0)
我不知道你是否可以使用ActiveXObject做到这一点,但如果你可以包括服务器端?使用php,你可以使用
实现它$ip=$_SERVER['REMOTE_ADDR'];
或使用
的java / jsp<%=request.getRemoteAddr()%>