Скрипт определения внешнего IP
Приветствую всех!
Помогите написать скрипт, который бы выводил на экран мой внешний IP-адрес.
Заранее спасибо!
|
El Sanchez |
22-12-2009 20:22 1301892 |
На WSH:
Код:
Set oHTML = CreateObject("MSXML2.XMLhttp")
oHTML.Open "GET", "http://www.whatismyip.com/automation/n09230945.asp", False
oHTML.Send
WScript.Echo "" & oHTML.ResponseText
|
El Sanchez, хотелось бы тоже самое, но без вывода на экран, а просто копировалось в буфер. Или хотя бы, чтобы из окна вывода можно было выделить и скопировать.
|
Freem,
Сохрани этот как ip_to_clip.vbs и запусти из cmd следующим образом
Код:
cscript //nologo "путь к файлу\ip_to_clip.vbs"| CLIP
вот тебе "rightclick to paste" ...
|
El Sanchez |
09-07-2010 17:10 1450454 |
Freem,
Код:
On Error Resume Next
Set oHTML = CreateObject("MSXML2.XMLhttp")
oHTML.Open "GET", "http://www.whatismyip.com/automation/n09230945.asp", False
oHTML.Send
If Err.Number Then
Wscript.Echo "Ошибка определения IP-адреса!"
WScript.Quit(1)
End If
Set oIE=CreateObject("InternetExplorer.Application")
oIE.Navigate "about:blank"
Do Until oIE.Readystate=4: WScript.Sleep 1: Loop
oIE.Document.Parentwindow.ClipboardData.SetData "Text", oHTML.ResponseText
MsgBox oHTML.ResponseText, 0, "Содержимое буфера"
|
El Sanchez, Всё хорошо, только IE ругается (не хочу настраивать):
Да и MsgBox oHTML.ResponseText, 0, "Содержимое буфера" - излишне. Мне бы сразу в буфер, без вывода сообщений.
|
El Sanchez |
10-07-2010 11:01 1450734 |
Freem, лады
Код:
On Error Resume Next
Const sRoot = "HKCU"
Const sKey = "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
Const sValueName= &H0
Set oHTML = CreateObject("MSXML2.XMLhttp")
oHTML.Open "GET", "http://www.whatismyip.com/automation/n09230945.asp", False
oHTML.Send
If Err.Number Then
Wscript.Echo "Ошибка определения IP-адреса!"'
WScript.Quit(1)
End If
Set oShell = WScript.CreateObject("WScript.Shell")
sCurrentKey = oShell.RegRead(sRoot & "\" & sKey)
If Not sCurrentKey = sValueName Then
sBkpKey = sCurrentKey
oShell.RegWrite sRoot & "\" & sKey, sValueName, "REG_DWORD"
End If
Set oIE=CreateObject("InternetExplorer.Application")
oIE.Navigate "about:blank"
Do Until oIE.Readystate=4: WScript.Sleep 1: Loop
oIE.Document.ParentWindow.ClipboardData.SetData "Text", oHTML.ResponseText
If sBkpKey <> "" Then oShell.RegWrite sRoot & "\" & sKey, sBkpKey, "REG_DWORD"
|
Freem, можно и без заморочек с OLE Parent и CLIP в InternetExplorer и с реестром...
сразу используя "DOM"(способ позволяет выловить нужную инфу из html)
Код:
Set objIE = CreateObject("InternetExplorer.Application")
Set WshShell = CreateObject("WScript.Shell")
objIE.Visible = False
objIE.Navigate "http://2ip.ru"
Do Until objIE.Readystate=4: WScript.Sleep 1: Loop
For Each tag In objIE.Document.getElementsByTagName("big")
Strinfo = tag.innerHTML
Next
WshShell.Run "cmd /k Echo " & strinfo & " | CLIP", 0
objIE.Quit
или используя "MSXML2.XML" на "ответку"
Код:
Set oHTML = CreateObject("MSXML2.XMLhttp")
oHTML.Open "GET", "http://www.whatismyip.com/automation/n09230945.asp", False
oHTML.Send
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "cmd /k Echo " & oHTML.ResponseText & " | CLIP", 0
|
а можно сделать чтоб Ip еще отсылался каждый час на email, заранее благодарен )
|
Время: 02:53.
© OSzone.net 2001-