Aujourd'hui, je travaille sur JS (JavaScript) pour obtenir IP client. J'ai recherché sur Internet et j'ai constaté que beaucoup d'entre eux ne sont pas valides dans le système et le navigateur actuels. J'étais impuissant. Dans Chrome et Firefox, j'utilise rarement ActiveX pour obtenir IP et d'autres scripts JS. Le code suivant est ce que j'ai testé et transmis tous les systèmes Windows NT5.0 et supérieurs, et j'ai donné le code:
1. Plusieurs façons d'obtenir IP du client en utilisant JS
La méthode 1 (uniquement pour IE et Client, IE permet à ActiveX de s'exécuter, via la plate-forme: XP, Server03, 2000).
Obtenez le code IP du client:
La copie de code est la suivante:
<html>
<adal>
<Title> getLocalip </Title>
</ Head>
<body>
Obtenez IP:
<Script Language = "JavaScript"> Fonction getLocalipaddr () {var Osetting = null; var ip = null; try {OSetting = new activeXObject ("rcbdyctl.setting"); ip = OSetting.getIpAddress; if (ip.length == 0) {return "non connecté à Internet"; } Osetting = null; } catch (e) {return ip; } return ip; } document.write (getLocalipaddr () + "<br/>") </script>
</docy>
</html>
Méthode 2 (toutes les plates-formes et navigateurs):
L'obtention de l'IP du client sur le réseau est la prémisse que le client doit être connecté à Internet. L'interface SINA est utilisée.
La copie de code est la suivante:
<html>
<adal>
<meta http-equiv = "content-type" content = "text / html; charset = gb2312">
<Title> JavaScript obtient le client IP [Utilisez l'interface SINA] </TITAL>
</ head>
<body>
<script type = "Text / javascript" src = "http://counter.sina.com.cn/ip/" charse = "gb2312"> </ script> <! - Obtenez des données d'interface, faites attention à Charset ->
<script type = "text / javascript">
Document.Writeln ("Adresse IP:" + IlLata [0] + "<r />"); // l'adresse IP dans les données d'interface de sortie
Document.Writeln ("Type d'adresse:" + IlLata [1] + "<r />"); // Le type d'adresse IP dans les données d'interface de sortie
Document.Writeln ("Type d'adresse:" + IlLata [2] + "<r />"); // la province et la ville de la sortie de l'adresse IP dans les données d'interface
Document.Writeln ("Type d'adresse:" + IlLata [3] + "<r />"); // Sortie de l'adresse IP dans les données d'interface
Document.Writeln ("Type d'adresse:" + IlLata [4] + "<r />"); // l'opérateur de l'adresse IP dans les données d'interface de sortie
</cript>
</docy>
</html>
Méthode 3 (toutes les plates-formes et navigateurs):
Interface SOHU utilisée
La copie de code est la suivante:
<script src = "http://pv.sohu.com/cityjson?ie=utf-8"> </ script>
<script type = "text / javascript">
Document.Write (returnCitySn ["CIP"] + ',' + returnCitySn ["cname"])
</cript>
Méthode 4: Interface de requête IP du réseau informatique du Pacifique:
http://whois.pconline.com.cn/?ip=0.0.0.0
Remplacez 0.0.0.0 par l'adresse IP, et il existe d'autres contenus non pertinents sur la page. Ces contenus nous indiquent quelles interfaces peuvent être appelées, les appels d'interface et les méthodes d'utilisation, etc.
Grâce à l'appel d'interface JS ci-dessus, vous pouvez déterminer à quelle ville vous appartenez et afficher directement les informations pertinentes de la ville. Pour les sites Web qui nécessitent un changement de ville, il est très utile de déterminer la source de l'utilisateur pour la première fois.
2. Utilisez JS pour obtenir le nom de l'ordinateur, l'adresse MAC et le LAN IP
Méthode 1 (uniquement pour IE et le client, IE permet à ActiveX de fonctionner):
Appelez le script VBS pour obtenir le nom de l'ordinateur (certaines personnes ne savent pas quel est le nom de l'ordinateur, l'explication simple est que c'est le nom physique de la machine plutôt que le nom d'utilisateur que vous utilisez) et le nom d'utilisateur de connexion.
La copie de code est la suivante:
<html>
<adal>
<Title> WMI Scripting HTML </TITLE>
</ Head>
<body>
<Script Language = JavaScript>
var wshshell = new activeXObject ("wscript.shell");
Document.Write ("Computer Name =" + Wshshell.ExpandenVironmentsTrings ("% ComputerName%") + "<br/>");
Document.Write ("Login username =" + wshshell.expandenvironmentstrings ("% username%") + "<br/>");
</cript>
</docy>
</html>
Méthode 2 (uniquement pour IE et le client, IE permet à ActiveX de fonctionner):
Obtenez le nom de l'ordinateur, connecté au nom d'utilisateur et au nom de domaine (si vous rejoignez le domaine, il affiche dans quel domaine est dans votre machine).
La copie de code est la suivante:
<html>
<adal>
<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.CompputerName + "<br/>");
Document.Write ("Login username =" + wshnetwork.username + "<br/>");
</cript>
</docy>
</html>
Méthode 3 (uniquement pour IE et le client, IE permet à ActiveX de fonctionner):
Vous pouvez obtenir l'adresse IP LAN, le Mac de la machine et le nom de la machine (source de code du réseau).
La copie de code est la suivante:
<html>
<adal>
<Title> </Title>
</ head>
<body>
<Object Classid = "CLSID: 76A64158-CB41-11D1-8B02-00600806D9B6" ID = "Locator" Style = "Affichage: Aucun; Visibilité: Hidden"> </ Object>
<Object Classid = "CLSID: 75718C9A-F029-11D1-A1AC-00C04FB6C223" ID = "FOO" Style = "Affichage: Aucun; Visibilité: Hidden"> </ Object>
<form name = "myform">
<br/> Adresse MAC: <entrée type = "text" name = "macaddress">
<br/> Adresse IP: <entrée type = "text" name = "iPaddress">
<br/> Nom d'hôte: <input type = "text" name = "hostname">
</ form>
</docy>
</html>
<script linguisse = "javascript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectServer ();
Service.Security_.ImpersonationLevel = 3;
service.instancesofasync (foo, 'win32_networkadapterconfiguration');
</cript>
<script pour = "foo" event = "onObjectary (objObject, obJasyncConText)" Language = "JScript">
if (objObject.ipeNabled! = null && objObject.ipeNabled! = "Undefined" && objObject.ipeNabled == true) {
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;
}
</cript>
<script pour = "foo" event = "onCompleted (hResult, perrorObject, pasyncConText)" Language = "JScript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myform.hostname.value = sdnsname;
</cript>