Почему я получаю «Требуется проверка подлинности прокси», когда я настроил учетные данные прокси в c # - PullRequest
0 голосов
/ 11 июня 2018

Я нашел несколько вопросов по этому поводу, но они, кажется, разрешают проверку подлинности 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 вручную.Это все еще не работает.

enter image description here

Кто-нибудь знает, как это исправить!?

1 Ответ

0 голосов
/ 11 июня 2018

Вам необходимо заполнить Proxy-Authorization заголовок: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Proxy-Authorization

Также посмотрите на этот вопрос: Базовая аутентификация прокси в C #: ошибка HTTP 407

...