Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Скрипт определения внешнего IP (http://forum.oszone.net/showthread.php?t=161134)

stolyar 22-12-2009 19:00 1301849

Скрипт определения внешнего 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


stolyar 22-12-2009 20:26 1301895

СеньQ! То что надо!

Freem 09-07-2010 14:16 1450326

El Sanchez, хотелось бы тоже самое, но без вывода на экран, а просто копировалось в буфер. Или хотя бы, чтобы из окна вывода можно было выделить и скопировать.

deepred 09-07-2010 16:44 1450436

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, "Содержимое буфера"


Freem 10-07-2010 00:17 1450634

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"


deepred 10-07-2010 12:47 1450764

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


aurax 21-09-2010 12:09 1500609

а можно сделать чтоб Ip еще отсылался каждый час на email, заранее благодарен )


Время: 02:53.

Время: 02:53.
© OSzone.net 2001-