NET使用HttpClient时忽略https证书

NET使用HttpClient时忽略https证书
如果请求的地址是HTTPS协议的话,一般调用都会报错,解决办法就是忽略https方式即可。

1、C# .NET Core 使用HttpClient时忽略HTTPS证书
最近项目遇到HttpClient请求代理时报SSL认证失败,解决方案记录

var handler = new HttpClientHandler();
handler.ServerCertificateCustomValidationCallback = delegate { return true; };
var client = new HttpClient(handler);

2、通过IHttpClientFactory忽略SSL连接错误

services.AddHttpClient("aliyun")
    .ConfigureHttpMessageHandlerBuilder(builder =>
    {
        builder.PrimaryHandler = new HttpClientHandler
        {
            ServerCertificateCustomValidationCallback = (m, c, ch, e) => true
        };
    });
	
3:基于IHttpClientFactory具体的实现

public async Task<string> GetApi(string url)
{
     var httpClient = _httpClientFactory.CreateClient("aliyun");
     var httpResponseMessage = await httpClient.GetAsync(url);
     var content = await httpResponseMessage.Content.ReadAsStringAsync();
     return content;
}


通过IHttpClientFactory忽略SSL连接错误
https://blog.csdn.net/shanghaibao123/article/details/124116749
https://stackoverflow.com/questions/57283898/ignore-ssl-connection-errors-via-ihttpclientfactory

posted @ 2022-09-18 20:44  Raymon撸码记  阅读(4013)  评论(0编辑  收藏  举报