Задать исключения для своего прокси и отличить список от глобальной настройки

Учебные задачи

НеИспользоватьПроксиДляАдресов — readonly-свойство с изменяемым массивом. Изменение своего массива не меняет системный список исключений.

Где и как запускать

Полный серверный модуль своей отдельной учебной конфигурации. Только параметры нового прокси-объекта, без сети и системных изменений.

Подготовка

  1. Используйте только свою отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте серверный общий модуль УчебныеПрокси с флагом Сервер, вставьте полный выбранный модуль и вызовите ВыполнитьПример из серверного обработчика учебной обработки.

  2. В каждом опыте ИнтернетПрокси создаётся с параметром Ложь: настройки inetcfg.xml, ОС и переменные среды не импортируются. Меняется только новый объект в памяти.

  3. Адреса proxy-http.example.invalid и proxy-https.example.invalid намеренно учебные. Они не являются работающими прокси. В коде нет HTTP/FTP-соединения или сетевых запросов.

  4. guide-user и НЕСЕКРЕТ_УЧЕБНЫЙ_ПАРОЛЬ — открытые вымышленные значения, не реальные учётные данные. Не вставляйте свои логины и пароли в учебник или журнал.

  5. Правила обхода, NTLM и Basic здесь конфигурируются и читаются, но фактическая маршрутизация, доступность сети и успешная аутентификация не проверены. Системный прокси и VPN не изменяются.

Процедура ВыполнитьПример() Экспорт
    Прокси = Новый ИнтернетПрокси(Ложь);
    Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
    Исключения = Прокси.НеИспользоватьПроксиДляАдресов;
    Исключения.Добавить("localhost");
    Исключения.Добавить("archive.example.invalid");
    Сообщить(Прокси.НеИспользоватьПроксиДляЛокальныхАдресов);
    Сообщить(Прокси.НеИспользоватьПроксиДляАдресов.Количество() = 2);
    Сообщить(Прокси.НеИспользоватьПроксиДляАдресов[1] = "archive.example.invalid");
    Исключения.Удалить(1);
    Сообщить(Прокси.НеИспользоватьПроксиДляАдресов.Количество() = 1);
    Исключения.Очистить();
    Сообщить(Прокси.НеИспользоватьПроксиДляАдресов.Количество() = 0);
    Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Ложь;
    Сообщить(Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Ложь);
КонецПроцедуры

Разбор по шагам

  1. Включить локальное исключение только у собственного нового объекта.

  2. Получить существующий массив адресов и добавить две учебные строки.

  3. Проверить, что переменная Исключения и свойство объекта показывают один изменяемый массив.

  4. Удалить только второй учебный элемент, затем очистить собственный массив. Выключить собственный локальный флаг.

  5. Не выполнять запросы и не объявлять результатом опыта успешный обход прокси для определённого URL.

Как проверить результат

  1. Шесть булевых сообщений Истина: локальный флаг, два адреса, нужный второй адрес, количество 1→0 и выключенный флаг.

  2. Рабочий VPN, системный прокси и правила ОС не затронуты.

Ожидаемый результат

Реальный пример наполнения и очистки собственного списка исключений без присваивания readonly-свойству.

На что обратить внимание

  1. Прокси.НеИспользоватьПроксиДляАдресов = Новый Массив запрещено; меняйте возвращённый массив.

  2. Состав списка в памяти не является сетевым доказательством маршрута.

  3. Не очищайте массив объекта, импортированного из рабочих настроек, ради этого урока.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.