HttpClient.Учетные данные по умолчанию для аутентификации на автоматически обнаруженном прокси - PullRequest
0 голосов
/ 26 декабря 2018

Control freak disclaimer: да, есть много вопросов о HttpClient и прокси, но они используют по крайней мере один из

  • explicite (не по умолчанию) учетные данные прокси
  • explicite(не WPAD) конфигурация прокси
  • устаревший Api, например, WebProxy.GetDefaultProxy, WebRequest и т. д.

Согласно разработчикам dotnet

если значение по умолчанию для HttpClientHandler.Proxy равно нулю, то HttpClientHandler будет использовать настройки прокси IE

Таким образом, чтобы установить правильный корпоративный прокси-сервер с HttpClient, нам не нужны никакие дополнительные действия, просто

_client = new HttpClient()

И нет никакого официального способа выбрать прокси.Но как я могу передать учетные данные AD по умолчанию для аутентификации на автоматически обнаруженном прокси?Я просто получаю "(407) Proxy Authentication Required."

PS Возможно, существует другая проблема, и при работе в качестве службы под специальной учетной записью (особенно в Linux) этот код не имеет настройки IE для использования.Поэтому нам нужно повторно внедрить WPAD.

1 Ответ

0 голосов
/ 26 декабря 2018

Вы можете передать учетные данные системному прокси-серверу по умолчанию, используя такой код с HttpClient:

var handler = new HttpClientHandler();
handler.DefaultProxyCredentials = CredentialCache.DefaultCredentials;
var client = new HttpClient(handler);
...