"System. Net .WebException: 'Запрос был прерван: не удалось создать безопасный канал SSL / TLS." в консольном приложении - PullRequest
0 голосов
/ 20 марта 2020

Я разрабатываю простой способ загрузки html веб-страниц:

        public string DownloadUsingWebRequest(string url)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

        request.Method = "GET";
        request.UserAgent = "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 70.0.3538.77 Safari / 537.36";
        request.ServicePoint.Expect100Continue = true;

        ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 |
                                              SecurityProtocolType.Tls11;

        ServicePointManager.ServerCertificateValidationCallback =
            (a, b, c, d) => true;

        using (var response = (HttpWebResponse)(request.GetResponse()))
        {
            var code = response.StatusCode;
            if (code != HttpStatusCode.OK) return "";
            using (var sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return sr.ReadToEnd();
            }
        }
    }

Однако, когда я запускаю этот фрагмент и передаю URL-адрес https, выдается следующее исключение:

System.Net.WebException: 'The request was aborted: Could not create SSL/TLS secure channel.'

Я просмотрел эту ссылку , но это не сильно помогло.

Примечание. На веб-сайте, который я использую в качестве теста, используется TLS 1.2.

...