项目使用了netcore的注入技术,所以使用HttpClientFactory需要按照以下操作进行
-
项目通过AddHttpClient添加HttpClient服务进行使用
为了避免出现证书错误的问题需要
设置 ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true, 忽略证书var httpClient = services.AddHttpClient(“https”).ConfigurePrimaryHttpMessageHandler(sp => new System.Net.Http.HttpClientHandler
{
ServerCertificateCustomValidationCallback = (message, certificate2, arg3, arg4) => true,
ClientCertificateOptions = System.Net.Http.ClientCertificateOption.Automatic
});
2.在项目中使用扩展的HttpContextCC全局类获取HttpClient服务
//从IOC注入中获取IHttpClientFactory服务
var httpClientFactory = HttpContextCC.Current.RequestServices.GetRequiredService<IHttpClientFactory>();
var client = httpClientFactory.CreateClient("https");
3.然后就可以使用获取到client进行后续的操作了