今日、私はクライアントIPを取得するためにJS(JavaScript)に取り組んでいます。私はインターネットを検索しましたが、それらの多くは現在のシステムとブラウザで無効であることがわかりました。私は無力でした。 ChromeとFirefoxでは、ActiveXを使用してIPやその他のJSスクリプトを取得することはめったにありません。次のコードは、私がテストしたものであり、すべてのWindows NT5.0以降のシステムで渡され、コードを与えました。
1. JSを使用してクライアントIPを取得するいくつかの方法
方法1(IEおよびクライアントIEのみを使用すると、ActiveXがプラットフォームを介して実行できます:XP、Server03、2000)。
クライアントIPコードを取得します:
コードコピーは次のとおりです。
<html>
<head>
<title> getLocalip </title>
</head>
<body>
IPを取得:
<スクリプト言語= "javascript">関数getLocalipAddr(){var osetting = null; var ip = null; try {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を取得することは、クライアントがインターネットに接続する必要があるという前提です。 SINAインターフェイスが使用されます。
コードコピーは次のとおりです。
<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(すべてのプラットフォームとブラウザ):
SOHUインターフェイスを使用しました
コードコピーは次のとおりです。
<スクリプトsrc = "http://pv.sohu.com/cityjson?ie=utf-8"> </scrip>
<script type = "text/javascript">
document.write(returnCitysn ["cip"]+'、'+returnCitysn ["cname"]))
</script>
方法4:Pacific Computer Network 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スクリプトhtml </title>
</head>
<body>
<スクリプト言語= javascript>
var wshshell = new ActiveXObject( "wscript.shell");
document.write( "Computer name ="+ wshshell.expandenvironmentstrings( "%computername%")+ "<br/>");
document.write( "login username ="+ wshshell.expandenvironmentstrings( "%username%")+ "<br/>");
</script>
</body>
</html>
方法2(IEとクライアントの場合のみIEでActiveXを実行できます):
ユーザー名とドメイン名でログインしたコンピューター名を取得します(ドメインに参加すると、マシンがどのドメインにあるかが表示されます)。
コードコピーは次のとおりです。
<html>
<head>
<title> wmiスクリプトhtml </title>
</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アドレス、マシンのMac、およびマシン名(ネットワークのコードソース)を取得できます。
コードコピーは次のとおりです。
<html>
<head>
<title> </title>
</head>
<body>
<object classID = "clsid:76A64158-CB41-11D1-8B02-00600806D9B6" ID = "Locator" style = "display:none; visibility:hidden"> </object>
<object classId = "clsid:75718c9a-f029-11d1-a1ac-00c04fb6c223" id = "foo" stiled = "display:none; vivivible:hisdibility:hidden"> </object>
<form name = "myform">
<br/> Macアドレス:<入力型= "Text" name = "macaddress">
<br/> IPアドレス:<入力タイプ= "テキスト" name = "iPaddress">
<br/>ホスト名:<入力タイプ= "テキスト" name = "hostname">
</form>
</body>
</html>
<スクリプト言語= "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)"言語= "jscript">
if(objobject.ipenabled!= null && objobject.ipenabled!= "undefined" && objobject.ipenabled == true){
if(objobject.ipenabled && objobject.ipaddress(0)!= null && objobject.ipaddress!= "undefined")
sipaddr = objobject.ipaddress(0);
if(objobject.macaddress!= null && objobject.macaddress!= "undefined"))
smacaddr = objobject.macaddress;
if(objobject.dnshostname!= null && objobject.dnshostname!= "未定"))
sdnsname = objobject.dnshostname;
}
</script>
<for = "foo" event = "oncompleted(hresult、perrorobject、pasynccontext)" language = "jscript">
myform.macaddress.value = smacaddr;
myform.ipaddress.value = sipaddr;
myform.hostname.value = sdnsname;
</script>