gpt4 book ai didi

c# - 如何允许所有 https 而不管 .NET Core HttpClient 中的有效性?

转载 作者:太空宇宙 更新时间:2023-11-03 15:08:03 24 4
gpt4 key购买 nike

我正在 .NET Core 中创建一个 Web API。为了在本地调试它,我创建了一个连接到我的 API 的控制台应用程序。我正在 Linux 中调试。

连接到我的本地 URL 时 https://localhost:5001/ ,我的控制台应用程序抛出 AuthenticationException(根据验证程序,远程证书无效)。

我试图通过两种方式规避这一点:

  1. 已添加 ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; 但它没有任何效果。

  2. 我已经运行了 dotnet dev-certs https --trust。现在我的网络浏览器不再提示了,这很好,但我的控制台应用程序仍然抛出异常。已尝试重启。

如何让 .NET Core 信任我的本地主机服务器?还是忽略证书有效期?

最佳答案

使用下面来自 here 的示例

var httpClientHandler = new HttpClientHandler();
// Return `true` to allow certificates that are untrusted/invalid
httpClientHandler.ServerCertificateCustomValidationCallback =
HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
var httpClient = new HttpClient(httpClientHandler);

关于c# - 如何允许所有 https 而不管 .NET Core HttpClient 中的有效性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com