Я разрабатываю простой способ загрузки 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.