Tek 發表
包括WSH, ASP, VBS以及WSH
Script語言常見的IP得法
寫這一篇算是教點小技巧...
有人問說『除了ASP (Active Server Pages)可以得到IP以外,有沒有什麼其他的寫法得到IP地址?』
當然是有,不過... 個人覺得這似乎太麻煩了... 似乎沒那個必要用那麼多方法去寫同一種東西吧?我
在這邊提供了四種寫法,這四種語言是我比較"熱愛"的程式語言•寫出來給有興趣的人參考一下好了!
P.S.當然... 我想大部份的程式語言都有這種抓IP能力才對...
ASP 得到IP的做法:
需要的環境:
PWS or IIS 執行ASP (127.0.0.1)
<%=Request.ServerVariables("REMOTE_ADDR")%>
SSI (Server-Side Includes) 語法得IP的做法:
需要的環境:
PWS or IIS 執行SSI語法 (127.0.0.1)
<!--#ECHO VAR="REMOTE_HOST"-->
WSH (Windows Scripting Host) 程式抓IP的做法:
副檔名: *.vbs
Dim wsk
Set wsk = Wscript.Createobject("MSWINSOCK.WINSOCK")
wscript.echo "Your IP:" & wsk.localip
Set wsk = Nothing
VBScript (Visual Basic Scripting) 語言抓IP的做法:
副檔名: *.htm or *.hta
<Script Language="VBScript">
Dim tek
Set tek = CreateObject("MSWINSOCK.WINSOCK")
Msgbox "Your IP: " & tek.localip,0,"Your IP"
Set tek = Nothing
</Script>
對程式有點研究的人應該會發現,WSH跟VBS語言用的是CreateObject方式•透過這種方式,通常
程式(以IE的一般安全調整來說)會跳出一個ActiveX警告是否執行此VBscript,獲得操作者的允許才會
執行• 執行後,程式會呼叫MSWINSCK.OCX檔案動作,顯示你的IP• WSH則不會那麼麻煩!
P.S.SSI語法的話程式會預先處理SSINC.DLL(這是SSI的server-side include dynamic link library)
另外一件很重要的事情,要跑SSI語法的話則需要把副檔名改成stm•
注意事項:
注意您的電腦必須要有MSWINSCK.OCX檔存在並且註冊,才可以執行WSH跟VBS的範例語法! 一般安裝有
Visual Studio的編寫者,都會有此檔案在Windows\System32目錄下!