407 требуется аутентификация посредника

Но в один прекрасный момент появилась прокся для выхода в инет с доменной аутентификацией.

машина под которой я запускаю программу находится в одном домене

МСУ, Да на продакшине работает, я изменения разрабатывать и тестить не могу

Так тестовый сервис можно деплоить туда же в DMZ :)P.S. Проблема, скорее всего, «админская». Тем более браузер тоже орет благим матом. Подключай адмов к решению траблы, пусть делают фильтр исключений.

там продакшин сервер, на нем нельзя разрабатывать и баловаться

мазила, опера, ИЕ, както ходят в инет, почему моя консольная програ не может .

нужно столько кругов ада пройти, безопасность, проект и тд,

это проблемы руководителей проекта

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

Прога не должна ходить в инет, она должна ходить в базу. А база должна наполняться данными из сторонних сервисов, которые ходят в инет в дмз. Классика.

Прога не должна ходить в инет, она должна ходить в базу. А база должна наполняться данными из сторонних сервисов, которые ходят в инет в дмз. Классика.

Я имел ввиду UI (веб-приложение, десктоп приложение).

ну эти проги могут вообще к куче баз конектится (обычно через еще один слой), очень редко когда есть только одна база и все

Пусть коннектятся. Но архитектурно этим прогам доступ в интернет должен быть закрыт.

Ну речь не о клиентской проге, а о служебной

Да я понял это изначально. Не стоит расписывать предназначение. То, что ты делаешь — классический вариант, ничего страшного тут нет. Просто проблема в админах, а не в софте. В чем проблема решать её совместно?

Если вам необходимо выполнить запрос информации для отправки по определенному URI, вам необходимо воспользоваться классом «WebRequest». При выполнении запроса через «WebRequest» используются настройки прокси, прописанные в Internet Explorer. Если прокси-сервер использует Active Directory-авторизацию, то необходимо указать в запросе использование разрешений пользователя по умолчанию. Для этого необходимо присвоить свойству «Proxy.Credentials», системные учетные данные приложения из свойства «System.Net.CredentialCache.DefaultCredentials». Код инициализации представлен ниже.

Если учетные данные не указаны, вы получите сообщение об ошибке «Удаленный сервер возвратил ошибку: (407) Требуется проверка подлинности посредника.»:

Так же вы можете указать свои учетные данные при подключении, для этого необходимо инициализировать новый экземпляр класса «System.Net.NetworkCredential» с тремя заданными параметрами:

  • userName – Имя пользователя, связанное с учетными данными.
  • password – Пароль для имени пользователя, связанный с учетными данными.
  • Domain- Домен, связанный с этими учетными данными.

Ниже приведен пример отправки интернет-запроса сайту «http://www.csharpcoderr.com/» и получение значения true, если и клиент, и сервер прошли проверку подлинности; в противном случае — false.

Результатом выполнения данного примера будет сообщение со статусом выполнения аутентификации.

Приведенный ниже код работает через прокси-сервер, вытаскивая настройки прокси из IE и credentials:

Однако если я добавляю куки к такому запросу:

То сервер возвращает ошибку:

Удаленный сервер возвратил ошибку: (407) Требуется проверка подлинности посредника.

Важный момент: прокси блокирует доступ к сайту, если писать без WWW. Вероятно причина именно в этом. Однако в кукиконтейнере я пишу домен с www:

Как сделать, чтобы прокси пропускал запросы с cookie?

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: