Adresse IP locale et adresse IP publique en VBscript
Afficher l'adresse IP Locale et l'adresse IP Publique et connaitre le Fournisseur d'accès d'internet (FAI) et dans quel pays. tout simplement en VBscript ! :ccool:
- pour afficher l'adresse locale on utilise l'objet Winsock et la commande ipconfig
- pour afficher l'adresse Publique on utillise l'objet XMLDOM
- le seul bémol c'est d'être sûr que le site "http://xml.showmyip.com/" soit viable dans le temps ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| 'Main Program
ipconfig
Getip
'------------------------------GetTempFile(File)-----------------
Function GetTempFile(File)
Set WshShell=WScript.CreateObject("WScript.Shell")
GetTempFile=WshShell.ExpandEnvironmentStrings("%TEMP%") & "\" & File
End Function
'---------------------------------------------------------------
Function ipconfig
set wshshell=CreateObject("WScript.shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
FileName=GetTempFile("ip.txt")
Command = "%COMSPEC% /C ipconfig > %TEMP%\ip.txt"
Result = WshShell.Run(Command,0,True)
Temp = fso.GetSpecialFolder(2).Path
Set File = fso.OpenTextFile(FileName)
Ping = file.ReadAll
file.Close
ipconfig = Ping
MsgBox ipconfig,64," Adresse IP !" '
end Function
'*******************Getip*************************
Function Getip
on error resume next
const URL = "http://xml.showmyip.com/"
Dim winsock
Dim message
Set winsock = CreateObject("MSWinsock.Winsock")
set xmldoc = CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.load(URL)
for each x in xmldoc.documentElement.childNodes
if x.NodeName = "ip" then
myip = x.text
end if
if x.NodeName = "isp" then
myhost = x.text
end if
if x.NodeName = "country" then
mycountry = x.text
end if
next
message = message & "Adresse IP Locale : "
message = message & winsock.localip & vbcrlf & vbcrlf
message = message &"Adresse IP Publique : "
message = message & myip & vbCRLF & vbCRLF
message = message & "Provider internet : " & myhost & vbCRLF & vbCRLF
message = message & "Pays,Ville : " & mycountry & vbCRLF & vbCRLF
Getip=message
msgbox message ,vbinformation ,"IP Locale et IP Publique"
end function |