저는 클라이언트 사용자의 IP를 얻기 위해 오랫동안 http://fw.qq.com/ipaddress를 사용해 왔습니다. 이 방법은 간단하고 빠르며 실용적입니다.
우리가 부르는 방식은 다음과 같습니다.
<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>
사용자 IP와 위치, 메타포를 반환할 수 있습니다.
var IPData = new Array("220.181.108.85","","北京市","");
이제 IPData[0]를 사용자 IP로 사용할 수 있습니다.
그런데 최근 Tencent에 무슨 일이 일어났는지 모르겠습니다. 이 위치에 오류가 발생하여 "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는 다음과 같습니다.
귀하의 방문 주소: IP 주소: 117.87.4.102 호스트: 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>
클라이언트 IP와 MAC 주소를 얻기 위한 JavaScript를 소개하겠습니다
구입할 수 없는 경우 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>