HttpClient HttpClientHandler WebRequestHandler Explained 处理https请求

发布时间 2023-09-21 16:32:52作者: hofmann

Framework 4.8的 HttpClientHandler 有 ServerCertificateCustomValidationCallback 所以处理https请求做如下操作:

var handler = new HttpClientHandler();

            var baseUri = new Uri(url);
            if (baseUri.Scheme.ToLower() == "https")
            {
                handler.UseDefaultCredentials = true;
                handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; };
            }
            var httpClient = new HttpClient(handler);
            var response = await httpClient.PostAsync(url, new StringContent(postJson, Encoding.UTF8, "text/json"));
            string responseJson = await response.Content.ReadAsStringAsync();

 

Framework 4.6.1的 HttpClientHandler 没有 ServerCertificateCustomValidationCallback 所以处理https请求做如下操作:

 

 

 

HttpClient, HttpClientHandler, and WebRequestHandler Explained_weixin_30767835的博客-CSDN博客