Установить системный прокси & amp; & amp; аутентификация в C ++ на Windows

Есть ли способ в C ++, чтобы установить системный прокси Windows с учетными данными аутентификации так что это сразу повлияет на все работающие программы (браузеры и т. д.), но:

  1. Не требует перезапуска любого браузера
  2. Не требует повторной аутентификации браузера

Я действительно ищу предварительно проверенный прокси-сервер системного уровня.

Спасибо за любую помощь. Задайте любые вопросы, если что-то неясно.

Использование: c ++ 11, Windows 7

РЕДАКТИРОВАТЬ 1: Мне нужно установить это программно, поэтому, пожалуйста, не предлагайте никаких ручных действий.

РЕДАКТИРОВАТЬ 2: Частично приемлемым является способ программной установки прокси-сервера без предварительной аутентификации, но с соблюдением требования 1. (Не требует перезапуска любого браузера).

0

Решение

Настройки прокси на уровне системы находятся в реестре \Software\Microsoft\Windows\CurrentVersion\Internet Settings улей в HKLM для всех пользователей и HKCU улей для текущего пользователя.
Есть официальный инструкция как изменить его через файл REG, вам не нужно писать код.

Но главная проблема заключается в следующем: любое приложение может иметь свои собственные настройки прокси, где оно 1) может предпочитать настройки уровня системы, но позволяют переопределить их пользователем, 2) вообще не использовать системные настройки.

В корпоративных средах эта проблема решается как:

  1. Интернет-шлюзу не разрешен прямой доступ к внешней сети любому компьютеру, кроме прокси-сервера (Microsoft ISA / Forefront Web Proxy)
  2. Настройки прокси в реестре принудительно применяются ко всем компьютерам через групповые политики
  3. Если пользователю необходимо запустить приложение, которое не может использовать общесистемные настройки прокси-сервера, необходимо установить ISA Firewall Client, который перехватывает весь трафик и аутентифицирует его на прокси-сервере ISA.

Поэтому, когда вы используете полный программный стек Microsoft — вам все равно не нужно писать код 🙂
Более того, ISA Firewall Client использует недокументированные возможности Windows и будет слишком сложно написать что-то, чтобы заменить это своими собственными навыками «C ++ 11».

0

Другие решения


По вопросам рекламы [email protected]