尝试向需要TLS 1.3的网站发送Web请求https://shop.claytonengineering.com/时,"request.GetResponse();"会出现以下异常:
异常:SSL连接无法建立,请参见内部异常。 内部异常:客户端和服务器无法通信,因为它们没有共同的算法。
从Google Chrome开发者工具安全选项卡中可以看到 - "连接到此站点使用TLS 1.3、X25519和AES_128_GCM进行加密和身份验证。"
有什么想法可以让这个请求工作吗?
异常:SSL连接无法建立,请参见内部异常。 内部异常:客户端和服务器无法通信,因为它们没有共同的算法。
从Google Chrome开发者工具安全选项卡中可以看到 - "连接到此站点使用TLS 1.3、X25519和AES_128_GCM进行加密和身份验证。"
有什么想法可以让这个请求工作吗?
HttpWebResponse response = null;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://shop.claytonengineering.com/");
request.KeepAlive = true;
request.Headers.Add("Upgrade-Insecure-Requests", @"1");
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36";
request.Headers.Add("Sec-Fetch-Mode", @"navigate");
request.Headers.Add("Sec-Fetch-User", @"?1");
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3";
request.Headers.Add("Sec-Fetch-Site", @"same-origin");
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.9");
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;
response = (HttpWebResponse)request.GetResponse();
string html = null;
using (StreamReader stream = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
html = stream.ReadToEnd();
}