اليوم ، أعمل على JS (JavaScript) للحصول على IP العميل. لقد بحثت في الإنترنت ووجدت أن العديد منهم غير صالحين في النظام الحالي والمتصفح. كنت عاجزًا. في Chrome و Firefox ، نادراً ما أستخدم ActiveX للحصول على برامج IP وغيرها من البرامج النصية JS. الرمز التالي هو ما اختبرته ونقله على جميع أنظمة Windows NT5.0 وما فوق ، وأعطت الرمز:
1. عدة طرق للحصول على IP العميل باستخدام JS
الطريقة 1 (فقط لـ IE والعميل IE يتيح تشغيل ActiveX ، من خلال النظام الأساسي: XP ، Server03 ، 2000).
احصل على رمز IP العميل:
نسخة الكود كما يلي:
<html>
<head>
<title> getLocalip </itlem>
</head>
<body>
احصل على IP:
<script language = "javaScript"> وظيفة getlocalipaddr () {var osetting = null ؛ var ip = null ؛ حاول {osetting = new ActiveXObject ("rcbdyctl.setting") ؛ IP = osetting.getipaddress ؛ if (ip.length == 0) {return "غير متصل بالإنترنت" ؛ } osetting = null ؛ } catch (e) {return ip ؛ } إرجاع IP ؛ } document.write (getlocalipaddr ()+"<br/>") </script>
</body>
</html>
الطريقة 2 (جميع المنصات والمتصفحات):
الحصول على عنوان IP الخاص بالعميل على الشبكة هو الفرضية التي يجب أن يكون العميل متصلاً بالإنترنت. يتم استخدام واجهة سينا.
نسخة الكود كما يلي:
<html>
<head>
<meta http-equiv = "content-type" content = "text/html ؛ charset = gb2312">
<title> يحصل JavaScript على IP العميل [استخدم واجهة Sina] </title>
</head>
<body>
<script type = "text/javaScript" src = "http://counter.sina.com.cn/ip/" charset = "gb2312"> </script> <!-احصل على بيانات الواجهة ، انتبه إلى charset->
<script type = "text/javaScript">
document.writeln ("عنوان IP:"+ildata [0]+"<br />") ؛ // عنوان IP في بيانات واجهة الإخراج
document.writeln ("نوع العنوان:"+ildata [1]+"<br />") ؛ // نوع عنوان IP في بيانات واجهة الإخراج
document.writeln ("نوع العنوان:"+ildata [2]+"<br />") ؛ // مقاطعة ومدينة إخراج عنوان IP في بيانات الواجهة
document.writeln ("نوع العنوان:"+ildata [3]+"<br />") ؛ // إخراج عنوان IP في بيانات الواجهة
document.writeln ("نوع العنوان:"+ildata [4]+"<br />") ؛ // مشغل عنوان IP في بيانات واجهة الإخراج
</script>
</body>
</html>
الطريقة 3 (جميع المنصات والمتصفحات):
واجهة سوهو المستخدمة
نسخة الكود كما يلي:
<script src = "http://pv.sohu.com/cityjson؟ie=utf-8"> </script>
<script type = "text/javaScript">
document.write (returncitysn ["CIP"]+'،'+returncitysn ["cname"])
</script>
الطريقة 4: واجهة استعلام شبكة IP لشبكة الكمبيوتر الهادئ:
http://whois.pconline.com.cn/؟ip=0.0.0.0
استبدل 0.0.0.0 بعنوان IP ، وهناك محتوى آخر غير ذي صلة على الصفحة. تخبرنا هذه المحتويات بالواجهات التي يمكن استدعاؤها ، والواجهة معلمات المكالمات وطرق الاستخدام ، إلخ.
من خلال استدعاء واجهة JS أعلاه ، يمكنك تحديد المدينة التي تنتمي إليها وعرضها مباشرة المعلومات ذات الصلة بالمدينة. بالنسبة لمواقع الويب التي تتطلب تبديل المدينة ، من المفيد للغاية تحديد مصدر المستخدم لأول مرة.
2. استخدم JS للحصول على اسم الكمبيوتر وعنوان MAC و LAN IP
الطريقة 1 (فقط لـ IE والعميل IE يتيح تشغيل ActiveX):
اتصل البرنامج النصي VBS للحصول على اسم الكمبيوتر (بعض الأشخاص لا يعرفون ما هو اسم الكمبيوتر ، والتفسير البسيط هو أنه الاسم الفعلي للجهاز بدلاً من اسم المستخدم الذي تستخدمه) واسم مستخدم تسجيل الدخول.
نسخة الكود كما يلي:
<html>
<head>
<title> WMI Scripting HTML </itlem>
</head>
<body>
<لغة البرنامج النصي = javaScript>
var wshshell = new ActivexObject ("wscript.shell") ؛
document.write ("computer name ="+ wshshell.expandenvironments ("٪ computername ٪")+ "<br/>") ؛
document.write ("login username ="+ wshshell.expandenVironments ("٪ username ٪")+ "<br/>") ؛
</script>
</body>
</html>
الطريقة 2 (فقط لـ IE والعميل IE يتيح تشغيل ActiveX):
احصل على اسم الكمبيوتر ، وتسجيله في اسم المستخدم ، واسم المجال (إذا انضممت إلى المجال ، فإنه يعرض المجال الذي يوجد فيه جهازك).
نسخة الكود كما يلي:
<html>
<head>
<title> WMI Scripting HTML </itlem>
</head>
<body>
<لغة البرنامج النصي = 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>
الطريقة 3 (فقط لـ IE والعميل IE يتيح تشغيل ActiveX):
يمكنك الحصول على عنوان LAN IP ، وماك الجهاز ، واسم الجهاز (مصدر الرمز من الشبكة).
نسخة الكود كما يلي:
<html>
<head>
<title> </title>
</head>
<body>
<object classid = "clsid: 76A64158-CB41-11D1-8B02-00600806D9B6" id = "locator" style = "display: none ؛ الرؤية: مخفية"> </كائن>
<object classid = "clsid: 75718c9a-f029-11d1-a1ac-00c04fb6c223" id = "foo" style = "display: none ؛ الرؤية: مخفية"> </object>
<name form = "myForm">
<br/> عنوان MAC: <إدخال type = "text" name = "macaddress">
<br/> عنوان IP: <إدخال type = "text" name = "ipaddress">
<br/> اسم المضيف: <إدخال 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 = "onObjectReady (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 ؛
}
</script>
<script for = "foo" event = "onCompleted (hresult ، perroroBject ، pasynccontext)" language = "jscript">
myform.macaddress.value = smacaddr ؛
myform.ipaddress.value = sipaddr ؛
myform.hostname.value = sdnsname ؛
</script>