很久以來,我都是經過http://fw.qq.com/ipaddress來得到客戶端用戶的IP,這個方法簡單、快速、實用 。
我們呼叫它的寫法是:
<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>
它可以回到使用者IP和地點,比喻:
var IPData = new Array("220.181.108.85","","北京市","");
我們即可以運用IPData[0]當使用者IP了。
可是近來不知道騰訊怎麼回事,這個地點失效了,提示「HTTP 500 內部伺服器失敗」。
用js得到客戶端IP的另一方法
最近,我知道了另一個可以得到客戶端IP的方法,這個服務是海外一網站提供的。
運用方法以下:
<script language="JavaScript"> VIH_BackColor = "palegreen"; VIH_ForeColor = "navy"; VIH_FontPix = "16"; VIH_DisplayFormat = "You are visiting from: IP Address: %%IP%% Host: %%HOST%%"; VIH_DisplayOnPage = "yes"; </script> <script language="JavaScript" src="http://www.hashemian.com/js/visitorIP.js.php"></script>
以下體現的便是你的IP:
You are visiting from: IP Address: 117.87.4.102 Host: 102.4.87.117.broad.xz.js.dynamic.163data.com.cn
如果你不想正在網頁上體現,僅僅想得到IP,用於其他用途,那樣必要把VIH_DisplayOnPage = "yes"改成VIH_DisplayOnPage = "no"。 IP變數是VIH_HostIP。
呼叫方法以下:
<script language="JavaScript"> VIH_DisplayOnPage = "no"; </script> <script language="JavaScript" src="http://scripts.hashemian.com/js/visitorIPHOST.js.php"></script> <script language="JavaScript"> alert("你的IP是:" + VIH_HostIP); </script>
下面要跟大家介紹JavaScript取得客戶端IP和MAC位址
如果取得不到則需要對IE瀏覽器進行設定。具體設定如下:
請設定IE瀏覽器-工具-安全-自訂等級-ActiveX第三項『對沒有標記為安全的ActiveX控制項進行初始化和腳本運行'為啟用,點選確定後刷新重新登入!
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>JavaScript获取客户端IP</title> <script type="text/javascript" language="javascript"> <!-- function GetLocalIPAddress() { var obj = null; var rslt = ""; try { obj = new ActiveXObject("rcbdyctl.Setting"); rslt = obj.GetIPAddress; obj = null; } catch(e) { //异常发生 } return rslt; } function getMac(){ var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = service.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled =True"); var e = new Enumerator (properties); { var p = e.item(); var mac = p.MACAddress; return mac } } //--> function init () { var ip = GetLocalIPAddress(); var mac = getMac(); fm.clientIP.value = ip; fm.clientMAC.value = mac; } </script> </head> <body onload="init();"> <form name = 'fm'> 通过JavaScript获取的IP信息:<input type ='text' name = 'clientIP'><br> 通过JavaScript获取的MAC信息:<input type='text'name = 'clientMAC'> 通过JSP获取的IP信息:<%= request.getRemoteAddr() %> </form> </body> </html>