Обычная проверка подлинности прокси в C #: ошибка HTTP 407

Я работаю с прокси, который требует аутентификации, то есть в браузере, если я пытаюсь открыть страницу, он сразу же запрашивает учетные данные. Я предоставил те же учетные данные в моей программе, но это не удается с ошибкой HTTP 407.

Вот мой код:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);

IWebProxy proxy = WebRequest.GetSystemWebProxy();
CredentialCache cc = new CredentialCache();
NetworkCredential nc = new NetworkCredential();

nc.UserName = "userName";
nc.Password = "password";
nc.Domain = "mydomain";
cc.Add("http://20.154.23.100", 8888, "Basic", nc);
proxy.Credentials = cc;
//proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.Proxy = proxy;
request.Proxy.Credentials = cc;
request.Credentials = cc;
request.PreAuthenticate = true;

Я перепробовал все возможные вещи, но мне кажется, что я что-то упустил. Это что-то вроде, я должен сделать два запроса? Сначала без учетных данных, и как только я получу ответ от сервера о необходимости учетных данных, сделайте такой же запрос с учетными данными?

Ответы на вопрос(5)

Ваш ответ на вопрос