Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 14

Получение внешнего IP в переменную

04.06.2019, 20:49. Показов 2002. Ответов 8

Студворк — интернет-сервис помощи студентам
Добрый день, есть этот код:

Visual Basic
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
Option Explicit
'On Error Resume Next
 
Dim sIP
 
Sub XMLRequest(sQuery, objRemXML)
    Set objRemXML = CreateObject("Microsoft.XMLDOM")
    objRemXML.async = False
    objRemXML.Load (sQuery)
End Sub
 
 
Sub XMLParse(objRemXML, sNode, sRet)
    Dim objXMLret
    Set objXMLret = objRemXML.SelectSingleNode(sNode)
    If Err.Number <> 0 Then
        'MsgBox "Error of IPRange"
      Else
        If Not objXMLret Is Nothing Then sRet = objXMLret.Text
    End If
End Sub
 
 
Sub GetMyIP(sIP)
    Dim sQuery, objRemXML
 
    sQuery = "http://ip2country.sourceforge.net/ip2c.php?format=XML"
    Call XMLRequest(sQuery, objRemXML)
 
    'Get your IP-address
    Call XMLParse(objRemXML, "/lookup/ip", sIP)
    
    'if Sourceforge is Down
    If Len(sIP) = 0 Then
        Set objRemXML = Nothing
        
        sQuery = "http://wtfismyip.com/xml"
        Call XMLRequest(sQuery, objRemXML)
        
        Call XMLParse(objRemXML, "/wtf/your-fucking-ip-address", sIP) ':)
    End If
    
    Set objRemXML = Nothing
End Sub
 
'Here we go
Call GetMyIP(sIP)
 
WScript.Echo sIP
Подскажите пожалуйста, почему он срабатывает только 1 раз, возвращает IP, потом возвращает "Echo off"...?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2019, 20:49
Ответы с готовыми решениями:

Получение внешнего IP
Необходимо получить внениий IP - с этом собственно проблем нет, а вот отправить коректный https запроос не получается. собственно как...

Получение внешнего IP
Добрый вечер! Необходимо получить внешний IP адрес и записать в *.txt. Нарыл код, ну та как в C# только первые дни... Прошу помощи...

Получение внешнего IP-адреса
zyxel keentric giga 2 ТП Zyxel говрит что можно общаться с роутером только или чрез web-интерфейс или по telnet как то вот так: ...

8
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2019, 21:05
Цитата Сообщение от dmitrii99 Посмотреть сообщение
wtf/your-fucking-ip-address
Это прикол, или такой нод действительно есть ?
0
0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 14
04.06.2019, 21:11  [ТС]
Есть=)
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
05.06.2019, 10:17
dmitrii99, зачем вам эти сложности?
Visual Basic
1
2
3
4
5
With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", "http://ipv4.internet.yandex.net/internet/api/v0/ip", False
    .Send 0: IP = Replace(.ResponseText, """", ""): .Abort
End With
WSH.Echo IP
Visual Basic
1
2
3
4
With CreateObject("Msxml2.XMLHTTP")
    .Open "GET", "http://ip-address.ru/show", False: .Send 0: IP = .ResponseText: .Abort
End With
WSH.Echo IP
0
0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 14
05.06.2019, 16:17  [ТС]
Спасибо, отлично работает!
0
0 / 0 / 0
Регистрация: 27.07.2014
Сообщений: 50
06.06.2019, 13:05
FlasherX, а локальный как узнать?
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
06.06.2019, 14:35
929151, вместо последней строки, если буфер не нужен:
Visual Basic
1
MsgBox MyIP, 64, "      Мои текущие IP"
Ещё стоит в 12 строке после последнего IP , vbLf дописать.
1
0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 14
12.06.2019, 17:17  [ТС]
Добрый день, собрал, в итоге, скрипт, который получает IP, записывает в переменную, далее он проверяется его на повторяемость, т.е. открывает файл с уже имеющимися IP, читает их и потом сравнивает текущий с уже имеющимися, если IP повторяется, то выскакивает окно с этим IP - задумка была такая, но есть 1 "но", тут скрипт читает файл и в переменную возвращает ПОСЛЕДНИЙ IP из столбца файла

Visual Basic
1
2
3
4
Set ReaIP = SFS.OpenTextFile (fullway, 1, true)
Do Until ReaIP.AtEndOfStream
HistIP = ReaIP.ReadLine
loop
, а мне нужно, что бы это окно выскакивало когда находится первое совпадение IP из файла с IP текущим.

Я понимаю, что в скрипте написано именно то, что он и выполняет, а как преобразовать его таким образом, чтобы он выполнял то, что нужно?
Заранее благодарен!

Сам скрипт:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Set SFS = CreateObject("Scripting.FileSystemObject")
Set Shell = wscript.createObject("wscript.shell")
fullway = SFS.GetAbsolutePathName("IPv4_DataBase.txt")
 
With CreateObject("Msxml2.XMLHTTP")
.Open "GET", "http://ip-address.ru/show", False
.Send 0: IpName = Replace(.ResponseText, """", ""): .Abort
End With
 
Set ReaIP = SFS.OpenTextFile (fullway, 1, true)
Do Until ReaIP.AtEndOfStream
HistIP = ReaIP.ReadLine
loop
 
if IpName = HistIP then     
wscript.echo IpName
else
end if
0
6986 / 2876 / 1106
Регистрация: 06.06.2017
Сообщений: 9,771
12.06.2019, 17:37
В этом коде это реализовано в 6-9,11,13-16 строках.

В 7 строке вы опять избыточно используете Replace для второго адреса, который касается только первого кода с яндекс-адресом, где более быстрый пинг.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.06.2019, 17:37
Помогаю со студенческими работами здесь

Получение локального и внешнего IP-адресов
Давайте обсудим разные способы: встроенными командами VBS сторонними утилитами.

Получение макета внешнего отчета
Если отчет в составе конф-ии, то получение макета: Макет=Отчеты.Отчет1.ПолучитьМакет(&quot;Макет&quot;); А если отчет внешний, то как...

Получение Json с внешнего сайта
Нужно получить файл JSon с другого сайта Вот отсюда, посмотрите на него(желательно) ...

Получение значения св-ва из внешнего css-файла. ???
Кусок css-файла : Как на javascript получить, например, св-во height в переменную? Не могу в синтаксисе разобраться, там...

Запуск внешнего IE и получение кода страницы
Как на Delphi открыть внешний браузер Internet Explorer, дождаться загрузки страницы, вывести исходный код страницы (HTML) в memo и закрыть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru