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.
我的 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.