Почему использование учетных данных прокси-сервера по умолчанию не приводит к автоматическому второму HTTP-запросу после ответа 407?

Я настроил fiddler в качестве прокси-сервера, требующего аутентификации после эти инструкции.

Когда я явно устанавливаю учетные данные, которые я установил в Fiddler, в моем HttpClientHandler:

this.Proxy = WebRequest.DefaultWebProxy;
this.Proxy.Credentials = new NetworkCredential("sweet name", "sweet password");

Затем в Fiddler я получаю 2 http-запроса, 407 и автоматический 200, и запрос выполняется успешно:

407 и 200 ответ

Однако, когда я пытаюсь использовать учетные данные по умолчанию:

this.Proxy = WebRequest.DefaultWebProxy;
this.Proxy.Credentials = CredentialCache.DefaultCredentials;

Затем в Fiddler я получаю только один запрос, 407, и запрос не выполняется:

введите здесь описание изображения

Почему нет автоматической повторной попытки с учетными данными по умолчанию, как это происходит, когда я явно задаю учетные данные прокси?


person Felix    schedule 15.09.2020    source источник
comment
Поскольку у вас есть Fiddler, работающий как прокси, вы можете просто проверить запросы, если они разные, особенно два запроса 407.   -  person Robert    schedule 17.09.2020
comment
Два запроса 407 выглядят одинаково: / Я думаю, проблема в том, что прокси-сервер Fiddler использует базовую аутентификацию, и, возможно, учетные данные по умолчанию не поддерживают это.   -  person Felix    schedule 17.09.2020
comment
Будет иметь смысл. В документации указано The DefaultCredentials property applies only to NTLM, negotiate, and Kerberos-based authentication. Следовательно, нет аутентификации по имени пользователя/паролю.   -  person Robert    schedule 18.09.2020


Ответы (1)


Как отметил @Robert в комментарии, документация гласит:

The DefaultCredentials property applies only to NTLM, negotiate, and Kerberos-based authentication.

Следовательно, имеет смысл отсутствие автоматического второго HTTP-запроса после ответа 407, когда прокси-сервер использует обычную аутентификацию.

person Felix    schedule 21.09.2020