Пропускаем приложения .NET Framework 4 через HTTP-прокси с аутентификацией

imageВ очередной раз сталкиваемся с приложением работающем в среде .NET Framework и не способным в своей базовой конфигурации работать с внешними веб-ресурсами через HTTP-прокси (в нашем случае используется Squid). Ряд подобных приложений попросту не имеют среди своих настроек параметров прокси. Соответственно, если такое приложение попытается получить прямой доступ к кому-либо внешнему веб-ресурсу, возникнет ошибка. В данном случае речь идёт о приложении "Потребители продукции импортозамещения" (ptr_client.exe) от Пермского ЦНТИ

image

Выйти из этой ситуации может помочь создание специального конфигурационного файла, в котором будут описаны дополнительные параметры среды исполнения для .NET приложения. В нашем случае рядом с исполняемым файлом ptr_client.exe создаётся файл с таким же именем и дополнительным расширением .config - ptr_client.exe.config

В этом файле мы указываем на то, что необходимо использовать автоматически полученные настройки прокси и учётные данные текущего пользователя.

<configuration>
  <system.net>
    <defaultProxy useDefaultCredentials="true">
      <proxy autoDetect="true"/>
    </defaultProxy>
  </system.net>
</configuration>

Если у вас автоконфигурация прокси не используется, то адрес прокси можно указать в явном виде по примеру того, как указано здесь. После сохранения конфигурационного файла снова пробуем выполнить приложение и убеждаемся в том, что теперь оно обращается к внешнему веб-узлу не на прямую, а через прокси и при этом используются учётные данные пользователя, запустившего приложение.

image

Добавить комментарий