C#.Net4.6新安全特性导致无法请求某些Https网站

4.6 .NET Framework 包括一项新的安全功能,用于阻止连接的不安全密码和哈希算法。 默认情况下,通过 Api (例如 HttpClient、HttpWebRequest、FtpWebRequest、SmtpClient、4.6 SslStream等)使用 TLS/SSL 的应用程序将获得更安全的行为。

如需关闭该安全行为,只需要如此即可~请勿设置System.Net.ServicePointManager.SecurityProtocol!

        private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";
        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";

        static void Main(string[] args)
        {
     
            AppContext.SetSwitch(DisableCachingName, true);
            AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
            var handler = new HttpClientHandler();
            using (var http2 = new HttpClient(handler))
            {
     
                var r = http2.GetAsync("https://*****:8888/");
                r.Wait();
                Console.WriteLine(r.Result);
            }
        }

你可能感兴趣的:(C#爬虫,C#,.net4.6,HttpClient,Https)