很久以來,我都是經過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>