我试图忽略 ssl 策略以使用 HttpClient 发出请求,但从未调用 ServerCertificateValidationCallback。在 ASP.NET Core 应用程序中调用 ServerCertificateValidationCallback 的正确位置是什么?我把它放在 HttpClient using 之前。
注意:这个类在net462类库中。
代码:
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
delegate (object sender,
System.Security.Cryptography.X509Certificates.X509Certificate certificate,
System.Security.Cryptography.X509Certificates.X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
return true;
};
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://myapi");
...
var result = client.PostAsync(method, httpContent).Result;
...
}
最佳答案
考虑这样尝试
//Handle TLS protocols
System.Net.ServicePointManager.SecurityProtocol =
System.Net.SecurityProtocolType.Tls
| System.Net.SecurityProtocolType.Tls11
| System.Net.SecurityProtocolType.Tls12;
var client = new HttpClient();
client.BaseAddress = new Uri("https://myapi");
//...
var result = await client.PostAsync(method, httpContent);
关于c# - 如何忽略 SSL 策略来执行 HTTPClient 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929616/