Что нового

Узнать ip адресс

Zuzik

Знающий
Сообщения
45
Репутация
5
Значит есть компьютер к которому хочу подключаться удалённо.
К моему несчастью у динамический айпишник(

Есть прога на аутоите(нечто пульта ДУ), которая работает по аське.

Возможно ли с помощью аутоита получить текущий айпишник(комп теоретически выключаться не будет, но экскаваторщика петю, или праздник в серверной прова исключать не стоит).

Рою функции но пока не найду подходящей(
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Zuzik
Рыть-то особо не далеко ;D
Код:
@IPAddress1
@IPAddress2
@IPAddress3

смотри, какой именно тебе нужен
 
Автор
Z

Zuzik

Знающий
Сообщения
45
Репутация
5
Тьфу, не думал, что они будут в макросах спасибо)
 
Автор
Z

Zuzik

Знающий
Сообщения
45
Репутация
5
Задача несколько усложнилась, после установки роутера.
Как быть если надо узнать внешний IP? с машины?
 
Автор
Z

Zuzik

Знающий
Сообщения
45
Репутация
5
ну так мы узнаем внешний адресс маил.ру(
А не нашей машины(
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Код:
#include <Inet.au3>
$PublicIP = _GetIP()
MsgBox(0, "IP Address", "Your IP Address is: " & $PublicIP)
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
Значит я не правильно понял Ваш вопрос:
надо узнать внешний IP
@IPAddress и _GetIP не работает?
Я проверил на своей машине. Работает.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Можно например так
Код:
$xPage = InetRead("http://www.whatismyip.ru")
$sPage = BinaryToString($xPage)
$IP_pat = '(?s).+\<font\scolor\=blue\>\<h1\>Ваш\sip\sадрес:\<br\>\n(\d+\.\d+\.\d+\.\d+)\n\</h1\>\</font\>.+'
$sIP = StringRegExpReplace($sPage, $IP_pat, '\1')
MsgBox(0, '', $sIP)
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
219
Только что в голову пришло: если в веб-интерфейсе роутера показывается внешний ип, можно скачать страницу с роутера, и прочитать ип из неё. Будет быстрее чем откуда то с интернета.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
dwerf
1. если роутер не подключен к другому роутеру провайдера или к шлюзу. это достаточно редко, но бывает
2. сравнивать скорость получения пары килобайт с вебморды роутера или с брать это с инета, разница, ИМХО, неощутима
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
964
Zuzik
Может пригодится:
Код:
$Result = InetRead("http://login:[email protected]/status.htm")
$Result = BinaryToString($Result)
$Result = StringStripWS($Result,8)
$Result = StringRegExp($Result, "(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})", 3)
;~ If IsArray($Result) Then
;~ 	_ArrayDisplay($Result)
;~ EndIf
ConsoleWrite("~~~~~~~~~~~~~~~ LAN ~~~~~~~~~~~~~~~" &@CRLF)
ConsoleWrite("IP Address.: " & $Result[0] &@CRLF)
ConsoleWrite("Subnet Mask.: " & $Result[1] &@CRLF)
ConsoleWrite("~~~~~~~~~~~~~~~ WAN ~~~~~~~~~~~~~~~" &@CRLF)
ConsoleWrite("IP Address.: " & $Result[2] &@CRLF)
ConsoleWrite("Subnet Mask.: " & $Result[3] &@CRLF)
ConsoleWrite("Gateway.: " & $Result[4] &@CRLF)
ConsoleWrite("DNS.: " & $Result[5] & " - " & $Result[6] &@CRLF)
ConsoleWrite("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" &@CRLF)


P.S. Я так у себя с роутера вытаскивал, кода понадобилось.
 
Верх