System.ComponentModel.Win32Exception: клиент и сервер не могут связываться, потому что у них нет общего алгоритма

Я пытался прочитать данные, возвращенные из URL. Рассмотрим следующий код:

private static void Read()
{
    _targetUrl = "https://url";
    _proxyUrl = "http://differentUrl:8080";

    ServicePointManager.ServerCertificateValidationCallback += AcceptAllCertifications;
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 

    WebProxy webProxy = new WebProxy
    {
        Address = _proxyUri,
        BypassProxyOnLocal = false,
        UseDefaultCredentials = false
    };

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_targetUrl);
    request.Proxy = webProxy;
    request.Method = "GET"; 

    WebResponse response = request.GetResponse();
    Stream stream = response.GetResponseStream();

    string ret = "";
    byte[] buffer = new byte[1048];
    int read;
    while (stream != null && (read = stream.Read(buffer, 0, buffer.Length)) > 0)
    {
        Console.Write(Encoding.ASCII.GetString(buffer, 0, read));
        ret += Encoding.ASCII.GetString(buffer, 0, read);
    }

    Console.WriteLine("READ: \n{0}", ret);
}

private static bool AcceptAllCertifications(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors)
{
    return true;
}

Мне было брошено исключение:

System.Net.WebException: базовое соединение было закрыто: при получении произошла непредвиденная ошибка. ---> System.ComponentModel.Win32Exception: клиент и сервер не могут связываться, потому что у них нет общего алгоритма

по следующему коду:

WebResponse response = request.GetResponse();

Я уже проверил, обращаясь к _targetUrl напрямую через браузер, в котором прокси был установлен так же, как прокси, определенный в коде, и определенно мог видеть данные, возвращенные в браузере.

Я пришел с приведенной выше кодировкой, взяв кусочки по ссылкам, которые я нашел в поиске. Большинство предложений, которые я нашел, похоже, почти совпадают с тем, что я использую сейчас.

Здесь немного потеряно. Может кто-нибудь указать мне правильное направление?

Спасибо за ваше внимание, ребята.

0 ответов

Другие вопросы по тегам