日期:2014-05-17  浏览次数:20664 次

获得本地IP地址

<script type="text/javascript" language="javascript">
function getlocalipaddress()
{
    var obj = null;
    var ip = null;
    try
    {
        obj = new activexobject("rcbdyctl.setting");
        ip = obj.getipaddress;
        obj = null;
    }
    catch(e)
    {
       return ip;
    }
    
    return ip;
}
alert("你的ip是:"+getlocalipaddress());
document.write("你的ip是:" + getlocalipaddress());
</script>

以上代码是我在网上找到的,获得本地IP地址的源代码,但是返回值是空值,我不知道是为什么?求高手指点,怎么样才能获得本地IP地址?急,在线等待!

------解决方案--------------------
<script language="JavaScript">  
function GetLocalIPAddr(){  
var oSetting = null;  
var ip = null;  
try{  
oSetting = new ActiveXObject("rcbdyctl.Setting");  
ip = oSetting.GetIPAddress;  
alert(ip);  
if (ip.length == 0){  
return "没有连接到Internet";  
}  
oSetting = null;  
}catch(e){  
return ip;  
}  
return ip;  
}  
alert(GetLocalIPAddr())  
</script>  
------解决方案--------------------
javascript的我没有,我用的是java获取IP。

String ip = "";
if (request.getHeader("x-forwarded-for") == null) { 
    ip = request.getRemoteAddr(); 
}else{ 
    ip = request.getHeader("x-forwarded-for"); 
}

------解决方案--------------------
在应用服务器的上层估计还有 Web 反向代理服务器,所以才会造成 request.getRemoteAddr(); 获得的地址不正确的结果,这样只能获得代理服务器的 IP 地址。