System.Net.Http.HttpClient POST 未能创建 SSL/TLS 安全通道

Posted 开发随想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.Net.Http.HttpClient POST 未能创建 SSL/TLS 安全通道相关的知识,希望对你有一定的参考价值。

HttpRequestException: 发送请求时出错。

WebException: 请求被中止: 未能创建 SSL/TLS 安全通道。

 

方法调用前加以下代码行即可.

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

        static void Test()
        {
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            using (System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient())
            {

                httpClient.MaxResponseContentBufferSize = 256000;
                httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/81.0.4044.138 Safari/537.36");
                httpClient.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");

                var param = new Dictionary<string, string> { { "", "<?xml version=\'1.0\'?><message><priority>0</priority></message>" } };

                var response = httpClient.PostAsync(@"https://www.baidu.com", new System.Net.Http.FormUrlEncodedContent(param)).Result;

                Console.WriteLine($"Response:{response.Content.ReadAsStringAsync().Result}");


            }

        }

以上是关于System.Net.Http.HttpClient POST 未能创建 SSL/TLS 安全通道的主要内容,如果未能解决你的问题,请参考以下文章