HttpClient 从 .well-known/openid-configuration 获得 404 响应,尽管该位置可从浏览器访问

问题描述

我在 IISExpress 的本地端口 44338 上运行 Identity Server 4,众所周知的配置位于:https://localhost:44338/.well-kNown/openid-configuration 我可以通过以下方式毫无问题地访问 url但是,当我尝试通过其他 ASP .NET Core 应用程序控制器内的代码发送请求时,我得到 404:

public async Task<string> Index()
{
    HttpResponseMessage response;

    using (var httpClient = new HttpClient())
    {
        response = await httpClient.GetAsync(@"https://localhost:44338/.well-kNown/openid-configuration");
    }
    return await response.Content.ReadAsstringAsync();
}

回复

enter image description here

问题:如何使用 HttpClient 获得 200?


编辑: 使用此代码也会发生同样的情况:

public string Get(string uri)
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using (Stream stream = response.GetResponseStream())
    using (StreamReader reader = new StreamReader(stream))
    {
        return reader.ReadToEnd();
    }
}

调用者:

 string x = Get("https://localhost:44338/.well-kNown/openid-configuration");

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)