Я нашел несколько вопросов по этому поводу, но они, кажется, разрешают проверку подлинности Windows.У меня есть пользовательские пользователи и пароли, и этот код работает с другими существующими прокси.Теперь, начиная с недели, мы используем новые прокси-серверы, которые используют {Basic realm="Private Proxies - Password Auth"}
, и код не работает.
var user = "********";
var pass = "********";
var port = "********";
var ip = "********";
var url = "********";
var baseUrl = "********";
NetworkCredential cr = new NetworkCredential(user, pass);
cr.Domain = ip;
WebProxy proxy = new WebProxy(ip + ":" + port) { BypassProxyOnLocal = false, Credentials = cr, UseDefaultCredentials = false};
HttpClientHandler handler = new HttpClientHandler();
handler.Proxy = proxy;
handler.UseProxy = true;
HttpClient httpClient = new HttpClient(handler);
httpClient.BaseAddress = new Uri(baseUrl);
var result = httpClient.GetAsync(url).Result;
Console.WriteLine(result.Content.ReadAsStringAsync().Result);
Console.Read();
Я проверил учетные данные в Firefox, и там прокси-серверы работают после того, как я предоставляю учетные данные во всплывающем окне.Я устанавливаю NetworkCredential внутри прокси, но когда я делаю запрос, он просто возвращает 407: Proxy Authentication Required
.
Я попытался установить заголовок Proxy-Authorization
вручную.Это все еще не работает.
Кто-нибудь знает, как это исправить!?