2

使用HttpClientHandler,我们可以设置服务器验证回调并返回 true(通过写出或使用DangerousAcceptAnyServerCertificateValidator)。在升级到 .NET Core 2.2 后切换HttpClient到使用时,如何确保绕过此验证?SocketsHttpHandler这是默认的吗?我目前找不到关于这个主题的太多信息,我将部署到一个我想避免做出重大改变的环境。

4

1 回答 1

6

@djsoteric 我有同样的问题,以这种方式解决了

public static HttpClient CreateHttpClient()
{
    var sslOptions = new SslClientAuthenticationOptions
    {
        // Leave certs unvalidated for debugging
        RemoteCertificateValidationCallback = delegate { return true; },
    };

    var handler = new SocketsHttpHandler()
    {
        SslOptions = sslOptions,
    };

    return new HttpClient(handler);
}
于 2020-04-01T17:24:33.927 回答