咱們檢測到您的瀏覽器不兼容傳輸層安全協議 (TLS) 1.1 或更高版本,此協議在 Internet 上用於確保您通訊的安全性。

早上使用.Net WebClient類採集亞馬遜數據,返回http 400 Bad Request錯誤,內容裏面有「咱們檢測到您的瀏覽器不兼容傳輸層安全協議 (TLS) 1.1 或更高版本,此協議在 Internet 上用於確保您通訊的安全性。html

因此就想着多是WebClient使用TLS版本太低,查了下資料,全局加上這段代碼。web

ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
View Code
/// <summary>
        /// Certificate validation callback. /// </summary>
        private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) { // If the certificate is a valid, signed certificate, return true.
            if (error == System.Net.Security.SslPolicyErrors.None) { return true; } Console.WriteLine("X509Certificate [{0}] Policy Error: '{1}'", cert.Subject, error.ToString()); return false; }
View Code

 

參考連接:https://stackoverflow.com/questions/20064505/requesting-html-over-https-with-c-sharp-webclient瀏覽器

相關文章
相關標籤/搜索