NetworkCredential, CredentialCache, ICredentials Все ничего не возвращают - PullRequest
1 голос
/ 14 июля 2011

У меня есть приложение Windows Form, и оно постоянно возвращает ошибку прокси-сервера 407, когда я пытаюсь вернуть строку JSON с серверов Google. Я был убежден, что все, что мне нужно сделать, это правильно установить контекст безопасности, установив учетные данные WebRequest как «DefaultCredentials» или «DefaultNetworkCredentials». Однако все методы, которые я использовал (см. Заголовок темы), всегда возвращали "".

Раздражает то, что приложение отлично работает при запуске на моем компьютере, опубликованном и через VS 2008, но когда другие пользователи пытаются, оно генерирует следующую ошибку:

System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.

в System.Net.HttpWebRequest.GetResponse ()

Любые идеи, прежде чем я лысый!

Заранее спасибо

C

РЕДАКТИРОВАТЬ: некоторый код в соответствии с просьбой. Я пробовал довольно много вариантов из следующего, но ни один из них не работает.

request.Proxy.Credentials = CredentialCache.DefaultCredentials;
HttpWebRequest.Proxy.Credentials = CredentialCache.DefaultCredentials;

OR строка url = "http://www.blah.com"; Uri uri = новый Uri (url); Учетные данные ICredentials = CredentialCache.DefaultCredentials; NetworkCredential credential = credentials.GetCredential (uri, "Basic");

ИЛИ

NetworkCredential credential = CredentialCache.DefaultNetworkCredentials;

INTO

request.Proxy.Credentials = CredentialCache.DefaultCredentials;

ИЛИ

request.Credentials = credential

У меня тоже есть три

.DefaultCredentials

И

.DefaultNetworkCredentials

1 Ответ

0 голосов
/ 14 июля 2011

Учетные данные, возвращаемые DefaultNetworkCredentials, представляют учетные данные для аутентификации для текущего контекста безопасности, в котором выполняется приложение. Для клиентского приложения это обычно учетные данные Windows (имя пользователя, пароль и домен).

Возможно, пользователь, который запускает приложение, не имеет прав на прокси

...