1С 8.3 Получить IP адрес - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Получить IP адрес

Данные > Примеры кода 1С > 1С 8.3 Приложение, система, интерфейс
Перейти в раздел примеры кода 1С 8.3:
Пример №1: программно получить внешний IP адрес в 1С 8.3:
Функция ПолучитьIP_1() Экспорт

  // Headers;
  Заголовки  = Новый Соответствие;
  Заголовки.Вставить("Accept", "*/*");
  Заголовки.Вставить("Accept-Encoding", "gzip, deflate, br");
  Заголовки.Вставить("Connection", "keep-alive");
  Заголовки.Вставить("Content-type", "application/json");

  ДополнительныеПараметры = Новый Структура("Заголовки", Заголовки);

  // HTTP query;
  СоединениеHTTP = Новый HTTPСоединение("api.ipify.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
  ЗапросHTTP = Новый HTTPЗапрос("/", Заголовки);

  ТекстОтвета = СоединениеHTTP.Получить(ЗапросHTTP);
  ТекстОтветаJSON = ТекстОтвета.ПолучитьТелоКакСтроку();

  Сообщить("IP адрес устройства = "+ ТекстОтветаJSON);

  Возврат ТекстОтветаJSON;

КонецФункции
Пример №2: программно получить локальный IP адрес в 1С 8.3:
&НаКлиенте
Процедура ПолучитьIP_2()

   COMОбъектWS = Новый COMОбъект("WbemScripting.SWbemLocator");
   COMОбъектWS_root = COMОбъектWS.ConnectServer(".","root\CIMV2");

   ПулСтрок = COMОбъектWS_root.ExecQuery("SELECT IPAddress FROM
                                                                        |Win32_NetworkAdapterConfiguration
                                                                        |WHERE IPEnabled = TRUE");

   Для Каждого СтрIP Из ПулСтрок Цикл
       Для Каждого IPадрес Из СтрIP.IPAddress Цикл
           Сообщить("IP адрес устройства = "+ IPадрес);
       КонецЦикла;
   КонецЦикла;

КонецПроцедуры

Пример №3: программно получить локальный IP адрес в 1С 8.3:
&НаКлиенте
Процедура ПолучитьIP_3()
   // Аналогичен примеру №2 (разница лишь в подключении)

   COMОбъектWin = ПолучитьCOMОбъект("winmgmts:\\.\root\CIMV2");
   ПулСтрок = COMОбъектWin.ExecQuery("SELECT * FROM
                                                                 |Win32_NetworkAdapterConfiguration
                                                                 |WHERE IPEnabled = TRUE");
   Для Каждого СтрIP Из ПулСтрок Цикл
       Для Каждого IPадрес Из СтрIP.IPAddress Цикл
           Сообщить("IP адрес устройства = "+ IPадрес);
       КонецЦикла;
   КонецЦикла;

КонецПроцедуры
Пример №4: программно получить локальный IP адрес (до Windows 7 включительно) в 1С 8.3:
&НаКлиенте
Процедура ПолучитьIP_4()

   COMОбъектRS= Новый COMОбъект("rcbdyctl.setting");
   IPадрес=COMОбъектRS.GetIpAddress;
   Сообщить("IP адрес устройства = "+ IPадрес);

КонецПроцедуры
2
комментарии
Игорь Анисимов
16 мар 2024
На W7 не проверял. Но на W10 все методы работают отлично (кроме пример 4, конечно)
Дмитрий Шаура
28 окт 2022
1. rcbdyctl.dll - это библиотека из windows xp. В Windows 7 и старше её нет. Поэтому описанный метод не подходит.
____________________
Copyright©, «Программист 1С в г.Минске», 26.02.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому