Проверка подлинности прокси в .NET - для внешнего API - PullRequest
7 голосов
/ 27 мая 2009

Я разрабатываю утилиту обмена сообщениями в Твиттере, используя Twitter API (twitterizer). Но поскольку я работаю внутри корпоративного прокси-сервера, я получаю сообщение об ошибке «Требуется 407 проверка подлинности прокси-сервера». Есть ли способ аутентифицировать пользователя перед вызовом API или использовать настройки прокси по умолчанию?

P.S Внутренне API использует HttpWebRequest.

Ответы [ 2 ]

9 голосов
/ 27 мая 2009

Это не отвечает на ваш вопрос. Но ошибка, которую вы получаете, явно является ошибкой аутентификации Proxy.

Возможно, вы захотите либо отключить, либо включить прокси.

Чтобы отключить прокси, в файле App.config добавьте следующую конфигурацию

<system.net>
  <defaultProxy enabled="false" useDefaultCredentials="false">
    <proxy/>
    <bypasslist/>
    <module/>
  </defaultProxy>
</system.net>

Чтобы включить прокси-сервер и использовать настройки прокси-сервера по умолчанию (указанные в IE), добавьте эту конфигурацию в файл App.config

<system.net>
  <defaultProxy enabled="true" useDefaultCredentials="true">
    <proxy/>
    <bypasslist/>
    <module/>
  </defaultProxy>
</system.net>
3 голосов
/ 21 ноября 2012

Одним из возможных программных решений является создание следующего прокси:

IWebProxy proxy=HttpWebRequest.GetSystemWebProxy();  
proxy.Credentials = CredentialCache.DefaultCredentials;  

, а затем назначьте его любому объекту, который выполняет сетевой вызов и принимает прокси, например:

Клиент WebClient = новый WebClient ();
client.proxy = прокси;

...