Hari ini, saya sedang mengerjakan JS (JavaScript) untuk mendapatkan IP klien. Saya mencari di internet dan menemukan bahwa banyak dari mereka tidak valid dalam sistem dan browser saat ini. Saya tidak berdaya. Di Chrome dan Firefox, saya jarang menggunakan ActiveX untuk mendapatkan IP dan skrip JS lainnya. Kode berikut adalah apa yang saya uji dan lewati pada semua sistem Windows NT5.0 dan di atas, dan memberikan kode:
1. Beberapa cara untuk mendapatkan IP klien menggunakan JS
Metode 1 (hanya untuk IE dan klien IE memungkinkan ActiveX untuk menjalankan, melalui platform: XP, Server03, 2000).
Dapatkan Kode IP Klien:
Salinan kode adalah sebagai berikut:
<Html>
<head>
<title> getLocalip </iteme>
</head>
<body>
Dapatkan IP:
<script language = "javascript"> function getLocalipaddr () {var osetting = null; var ip = null; coba {osetting = ActiveXObject baru ("rcbdyctl.setting"); ip = osetting.getipAddress; if (ip.length == 0) {return "tidak terhubung ke internet"; } osetting = null; } catch (e) {return ip; } return ip; } document.write (getLocalipaddr ()+"<br/>") </script>
</body>
</html>
Metode 2 (semua platform dan browser):
Mendapatkan IP klien di jaringan adalah premis bahwa klien harus terhubung ke internet. Antarmuka SINA digunakan.
Salinan kode adalah sebagai berikut:
<Html>
<head>
<meta http-equiv = "konten tipe" content = "text/html; charset = gb2312">
<title> JavaScript mendapatkan IP klien [Gunakan antarmuka SINA] </iteme>
</head>
<body>
<type skrip = "Text/JavaScript" src = "http://counter.sina.com.cn/ip/" charset = "gb2312"> </script> <!-Dapatkan data antarmuka, perhatikan charset->
<type skrip = "Teks/JavaScript">
Document.writeln ("Alamat IP:"+ildata [0]+"<br />"); // Alamat IP di data antarmuka output
Document.writeln ("Jenis Alamat:"+ildata [1]+"<br />"); // Jenis alamat IP di data antarmuka output
Document.writeln ("Jenis Alamat:"+Iddata [2]+"<br />"); // Provinsi dan kota mengeluarkan alamat IP dalam data antarmuka
Document.writeln ("Tipe Alamat:"+Ildata [3]+"<br />"); // keluaran alamat IP di data antarmuka
Document.writeln ("Jenis Alamat:"+Iddata [4]+"<br />"); // Operator alamat IP di data antarmuka output
</script>
</body>
</html>
Metode 3 (semua platform dan browser):
Antarmuka sohu digunakan
Salinan kode adalah sebagai berikut:
<skrip src = "http://pv.sohu.com/cityjson?ie=utf-8"> </script>
<type skrip = "Teks/JavaScript">
document.write (returnCitySn ["cip"]+','+returnCitySn ["cName"])
</script>
Metode 4: Antarmuka Kueri IP Jaringan Komputer Pasifik:
http://whois.pconline.com.cn/?ip=0.0.0.0
Ganti 0,0.0.0 dengan alamat IP, dan ada konten lain yang tidak relevan di halaman. Isi ini memberi tahu kami antarmuka mana yang dapat dipanggil, antarmuka panggilan parameter dan metode penggunaan, dll.
Melalui panggilan antarmuka JS di atas, Anda dapat menentukan kota mana yang Anda miliki dan secara langsung menampilkan informasi yang relevan dari kota. Untuk situs web yang membutuhkan pengalihan kota, sangat membantu untuk menentukan sumber pengguna untuk pertama kalinya.
2. Gunakan JS untuk mendapatkan nama komputer, alamat MAC, dan IP LAN
Metode 1 (hanya untuk IE dan klien IE memungkinkan ActiveX untuk berjalan):
Hubungi skrip VBS untuk mendapatkan nama komputer (beberapa orang tidak tahu apa nama komputernya, penjelasan sederhananya adalah bahwa itu adalah nama fisik mesin daripada nama pengguna yang Anda gunakan) dan nama pengguna login.
Salinan kode adalah sebagai berikut:
<Html>
<head>
<title> WMI Scripting html </iteme>
</head>
<body>
<bahasa skrip = javascript>
var wshshell = ActivexObject baru ("wscript.shell");
document.write ("nama komputer ="+ wshshell.expandenvironmentStrings ("%computername%")+ "<br/>");
document.write ("Login username ="+ wshshell.expandenvironmentstrings ("%username%")+ "<br/>");
</script>
</body>
</html>
Metode 2 (hanya untuk IE dan klien IE memungkinkan ActiveX untuk berjalan):
Dapatkan nama komputer, masuk nama pengguna, dan nama domain (jika Anda bergabung dengan domain, itu menunjukkan domain di mana mesin Anda ada).
Salinan kode adalah sebagai berikut:
<Html>
<head>
<title> WMI Scripting html </iteme>
</head>
<body>
<bahasa skrip = javascript>
var wshnetwork = ActivexObject baru ("wscript.network");
document.write ("domain ="+ wshnetwork.userdomain+ "<br/>");
document.write ("Nama komputer ="+ wshnetwork.coPutername+ "<br/>");
document.write ("Login username ="+ wshnetwork.username+ "<br/>");
</script>
</body>
</html>
Metode 3 (hanya untuk IE dan klien IE memungkinkan ActiveX untuk berjalan):
Anda dapat memperoleh alamat IP LAN, Mac mesin, dan nama mesin (sumber kode dari jaringan).
Salinan kode adalah sebagai berikut:
<Html>
<head>
<title> </title>
</head>
<body>
<objek classid = "clsid: 76a64158-cb41-11d1-8b02-00600806d9b6" id = "locator" style = "display: tidak ada; visibilitas: tersembunyi"> </ object>
<object classId = "clsid: 75718c9a-f029-11d1-a1ac-00c04fb6c223" id = "foo" style = "display: none; visibilitas: tersembunyi"> </object>
<Form name = "myForm">
<br/> Alamat Mac: <Input type = "Text" Name = "MacAddress">
<br/> Alamat IP: <input type = "Text" name = "ipaddress">
<br/> Nama Host: <Input Type = "Text" Name = "HostName">
</form>
</body>
</html>
<bahasa skrip = "javascript">
var smacaddr = "";
var sipaddr = "";
var sdnsname = "";
var service = locator.connectServer ();
service.security_.impersonationlevel = 3;
service.instancesofasync (foo, 'win32_networkAdapterConfiguration');
</script>
<skrip untuk = "foo" event = "onobjectready (objObject, objasynccontext)" language = "jscript">
if (objObject.ipeNabled! = null && objObject.ipeNabled! = "tidak terdefinisi" && objObject.ipeNabled == true) {
if (objObject.ipeNabled && objObject.ipaddress (0)! = null && objObject.ipaddress (0)! = "tidak terdefinisi")
sipaddr = objObject.ipaddress (0);
if (objObject.macaddress! = null && objObject.macaddress! = "tidak terdefinisi")
smacaddr = objObject.macaddress;
if (objObject.dnshostname! = null && objObject.dnshostname! = "tidak terdefinisi")
sdnsname = objObject.dnshostname;
}
</script>
<skrip untuk = "foo" event = "onCompleted (hResult, perrorObject, pasynccontext)" language = "jscript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myForm.hostname.value = sdnsname;
</script>