Heute arbeite ich an JS (JavaScript), um Client -IP zu erhalten. Ich habe das Internet durchsucht und festgestellt, dass viele von ihnen im aktuellen System und im Browser ungültig sind. Ich war hilflos. In Chrome und Firefox verwende ich ActiveX selten, um IP- und andere JS -Skripte zu erhalten. Der folgende Code ist das, was ich getestet und alle Windows NT5.0 und über Systeme übergeben habe und den Code gegeben habe:
1. verschiedene Möglichkeiten, um Client -IP mit JS zu erhalten
Methode 1 (nur für IE und Client erlaubt IE ActiveX über die Plattform: XP, Server03, 2000).
Holen Sie sich den Client -IP -Code:
Die Codekopie lautet wie folgt:
<html>
<kopf>
<title> getLocalip </title>
</Head>
<body>
Holen Sie sich IP:
<script Language = "javaScript"> Funktion getLocalipaddr () {var osetting = null; var ip = null; try {osetting = new ActiveXObject ("rcbdyctl.Setting"); ip = osetting.getipaddress; if (ip.length == 0) {return "nicht mit dem Internet verbunden"; } osetting = null; } catch (e) {return ip; } return ip; } document.write (getLocalipaddr ()+"<br/>") </script>
</Body>
</Html>
Methode 2 (alle Plattformen und Browser):
Das Erhalten der IP des Clients im Netzwerk ist die Prämisse, dass der Client mit dem Internet verbunden sein muss. Die Sina -Schnittstelle wird verwendet.
Die Codekopie lautet wie folgt:
<html>
<kopf>
<meta http-äquiv = "content-type" content = "text/html; charset = gb2312">
<titels> JavaScript erhält Client IP [SINA -Schnittstelle verwenden] </title>
</head>
<body>
<script type = "text/javaScript" src = "http://counter.sina.com.cn/ip/" charset = "gb2312"> </script> <!-Schnittstellendaten, achten Sie auf Charset-> achten
<script type = "text/javaScript">
document.WriteLn ("IP -Adresse:"+ildata [0]+"<br />"); // die IP -Adresse in den Datenausgaben -Schnittstellendaten
document.WriteLn ("Adresstyp:"+ildata [1]+"<br />"); // Der Typ der IP -Adresse in den Ausgabebestellendaten
document.WriteLn ("Adresstyp:"+ildata [2]+"<br />"); // Die Provinz und die Stadt, um die IP -Adresse in den Schnittstellendaten auszugeben
document.WriteLn ("Adresstyp:"+ildata [3]+"<br />"); // Die IP -Adresse in den Schnittstellendaten ausgeben
document.WriteLn ("Adresstyp:"+ildata [4]+"<br />"); // Der Bediener der IP -Adresse in den Ausgabebestellendaten
</script>
</body>
</html>
Methode 3 (alle Plattformen und Browser):
Sohu -Schnittstelle verwendet
Die Codekopie lautet wie folgt:
<script src = "http://pv.sohu.com/cityjson?ie=utf-8"> </script>
<script type = "text/javaScript">
document.write (returnCitySn ["cip"]+','+returnCitySn ["Cname"])
</script>
Methode 4: Pacific Computernetzwerk IP -Abfrageschnittstelle:
http://whois.pconline.com.cn/?ip=0.0.0.0
Ersetzen Sie 0.0.0.0 durch IP -Adresse, und es gibt andere irrelevante Inhalte auf der Seite. Diese Inhalte geben uns an, welche Schnittstellen aufgerufen werden können, Schnittstellen -Aufrufparameter und Nutzungsmethoden usw.
Durch den oben genannten Aufruf der JS -Schnittstelle können Sie bestimmen, zu der Sie die relevanten Informationen der Stadt angehören und direkt anzeigen. Für Websites, die das Umschalten von Stadtwegen erfordern, ist es sehr hilfreich, die Quelle des Benutzers zum ersten Mal zu bestimmen.
2. Verwenden Sie JS, um den Computernamen, die MAC -Adresse und das LAN IP zu erhalten
Methode 1 (nur für IE und Client erlaubt IE ActiveX auszuführen):
Rufen Sie das VBS -Skript an, um den Computernamen zu erhalten (einige Personen wissen nicht, wie der Computername ist. Die einfache Erklärung lautet, dass es sich eher um den physischen Namen des Geräts als den Benutzernamen handelt, den Sie verwenden) und den Benutzernamen des Anmeldes.
Die Codekopie lautet wie folgt:
<html>
<kopf>
<title> WMI Scripting html </title>
</Head>
<body>
<script Language = JavaScript>
var wshshell = new ActiveXObject ("wscript.shell");
document.write ("computer name ="+ wshshell.expandenenvironmentStrings ("%ComputName%")+ "<br/>");
document.write ("login username ="+ wshshell.expandenenvironmentStrings ("%Benutzername%")+ "<br/>");
</script>
</Body>
</Html>
Methode 2 (nur für IE und Client erlaubt IE ActiveX auszuführen):
Holen Sie sich den Computernamen, angemeldet in Benutzername und Domain -Name (wenn Sie der Domain beitreten, zeigt er an, in welcher Domain Ihre Maschine ist).
Die Codekopie lautet wie folgt:
<html>
<kopf>
<title> WMI Scripting html </title>
</Head>
<body>
<script Language = JavaScript>
var wShnetwork = new ActiveXObject ("wscript.network");
document.write ("domain ="+ wshnetwork.userDomain+ "<br/>");
document.write ("computer name ="+ wshnetwork.computername+ "<br/>");
document.write ("login username ="+ wshnetwork.username+ "<br/>");
</script>
</Body>
</Html>
Methode 3 (nur für IE und Client erlaubt IE ActiveX auszuführen):
Sie können die LAN -IP -Adresse, den Mac des Geräts und den Maschinennamen (Codequelle aus dem Netzwerk) abrufen.
Die Codekopie lautet wie folgt:
<html>
<kopf>
<title> </title>
</head>
<body>
<Object ClassID = "CLSID: 76A64158-CB41-11D1-8B02-00600806D9B6" ID = "Locator" style = "Anzeige: Keine; Sichtbarkeit: Hidden"> </Object>
<Object ClassID = "CLSID: 75718C9A-F029-11D1-A1AC-00C04FB6C223" ID = "Foo" style = "Anzeige: Keine; Sichtbarkeit: Hidden"> </Object>
<Formular name = "myForm">
<br/> MAC -Adresse: <Eingabe type = "text" name = "macaddress">
<br/> IP -Adresse: <Eingabe type = "text" name = "ipaddress">
<br/> Hostname: <Eingabe type = "text" name = "hostname">
</form>
</body>
</html>
<script Language = "JavaScript">
var SMACADDR = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectServer ();
service.security_.impersonationlevel = 3;
Service.inStancesOfasync (Foo, 'Win32_NetworkAdapterConfiguration');
</script>
<script for = "foo" event = "OnobJectrady (ObjObject, objasynccontext)" Sprache = "Jscript">
if (objObject.ipenabled! = null && objObject.ipenabled!
if (objObject.ipenabled && objObject.ipaddress (0)! = null && objObject.ipaddress (0)! = "undefined")
sipaddr = objObject.ipaddress (0);
if (objObject.macaddress! = null && objObject.macaddress! = "undefined")
SMACADDR = ObjObject.macaddress;
if (objObject.dnshostname! = null && objObject.dnshostname! = "undefined")
sdnsname = objObject.dnshostname;
}
</script>
<script for = "foo" event = "oncompleted (hResult, PerrorObject, pasynccontext)" Sprache = "Jscript">
myForm.macaddress.Value = Smacaddr;
myForm.ipaddress.Value = sipaddr;
myForm.hostname.Value = sdnsname;
</script>