Запрос не удалось с состоянием HTTP 407: аутентификация.
-
21-12-2019 - |
Вопрос
Хорошо, люди .. вот сделка ->
Я потреблял веб-службу в моем консольном приложении, и сможете успешно вызывать то же самое при запуске с моей локальной машины.
Необходимо заваривать, когда я развернул приложение на моей коробке Win 2K8. Я впервые появился -> удаленное имя не может быть разрешено: «www.www.net ' -> и поэтому я добавил WebProxy и подключить его к недвижимости .proxyСервис.
Следующая ошибка, в которой я запускал, это -> Запрос не удалось с состоянием HTTP 407: аутентификация.И я нахожусь в потере идей, чтобы решить то же самое.
Я использовал -> .Proxy.credentials= System.net.CredentialCache.defaultCredentials;И имейте также явно определенные прокси-кредиты -> имя пользователя, пароль, домен -> Но безрезультатно
Веб-сервис работает нормально при доступе по браузеру на сервере.
Любая помощь будет высоко ценится.
Спасибо за ваше время.
RGDS,
Решение 2
Хорошо .. вою, что получило его работать, наконец ->
связано с ребятами NOC (Network) - и они, в свою очередь, включали явный доступ на основе IP для запросов / ответов на / с сервера.
воля, что приведет к нарушению безопасности - ну я не уверен.
RGDS,
Другие советы
Вы за проксийзервером? У вашего браузера настроен прокси-сервер? 407 означает «необходимая проверка подлинности прокси-сервера», поэтому вам необходимо предоставить учетные данные, с помощью которых вы можете аутентифицироваться на прокси-сервере. Мое первое предположение - это вам нужно подобное.
var credentials = new NetworkCredential("username", "password", "domain");
WebProxy proxy = new WebProxy("YourProxyServerUri", true) { Credentials = credentials };
.
, а затем вы должны использовать TE Proxy Object в качестве прокси-сервера для вашего WebService.
Вы также можете использовать настраиваемые системы прокси-сервер:
WebProxy myProxy = (WebProxy) System.Net.HttpWebRequest.GetSystemWebProxy();
.
Или вы можете даже настроить его в web.config (но я думаю, что это невозможно предоставлять учетные данные здесь:
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="YourProxyServerUri"
bypassonlocal="True" />
</defaultProxy>
</system.net>
.
Если все работает нормально, вы можете предоставить некоторую способ настроить Proxserver и учетные данные во время выполнения, снаружи ваш код. В противном случае вы всегда должны перекомпилировать вещи, если что-то в вашей производственной среде или изменениях местоположения. Вы можете поставить это в свой раздел приложение в Web.config, в базе данных, app.config etc ..
Также убедитесь, что вы предоставляете правильный номер порта в ваших настройках (например, 192.168.1.100:8888)