Blazor 客户端 HttpClient。无内容返回

Blazor Client HttpClient. No Content Returned

我的 C# 代码一定有问题。我正在尝试从 Azure Blob 下载一些 Json。我可以在 Postman 和 MS Edge 中下载 Json 但是,使用我的代码,请求中没有明显的错误,但响应中没有内容。大概是我的代码有问题。

    async Task GetJson()
    {
        var request = new HttpRequestMessage
        {
            Method = new HttpMethod("GET"),
            RequestUri = new Uri("https://xxx.blob.core.windows.net/trading/m5.json")
        };
        request.Headers.Add("Accept", "application/json");
        request.SetBrowserRequestMode(BrowserRequestMode.NoCors);

        var response = await http.SendAsync(request);
        var json = await response.Content.ReadAsStringAsync();

    
    }

这是在 GitHub 上被问到的,显然是 by design

当您删除 request.SetBrowserRequestMode(BrowserRequestMode.NoCors); 行时,您将看到 No 'Access-Control-Allow-Origin' header is present 错误。

指定 BrowserRequestMode.NoCors 不允许您绕过浏览器安全规则。它只是简化了请求 headers.