gpt4 book ai didi

c# - “UTF8”不是受支持的编码名称

转载 作者:可可西里 更新时间:2023-11-01 07:52:30 28 4
gpt4 key购买 nike

所以我只是在玩弄 Spotify 的 Web API,我正在尝试访问我最常播放的轨道。尽管我遇到了几个小时以来一直试图解决的问题,但我找不到答案。

当我尝试反序列化我的响应时,出现以下错误:

'UTF8' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. Parameter name: name The character set provided in ContentType is invalid. Cannot read content as string using an invalid character set.

内容类型是application/json;字符集=UTF8

有什么想法吗?

这是我的请求代码:

private static HttpClient GetHttpClient()
{
HttpClientHandler handler = new HttpClientHandler() {
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate
};
var httpClient = new HttpClient(handler);
httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
return httpClient;
}

public async Task<SearchArtistResponse> GetSelfTopAsync(string type, string userName)
{
var httpClient = GetHttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", GetAccessToken(userName));

var sb = new StringBuilder();
sb.Append(ApiUrl);
sb.Append($"/me/top/{type}");
var query = sb.ToString();
var response = await httpClient.GetAsync(query);

var spotifyResponse = JsonConvert.DeserializeObject<SearchArtistResponse>(await response.Content.ReadAsStringAsync());
return spotifyResponse;
}

最佳答案

您使用的是 .net 核心吗?

您将需要添加以下代码以使 .NET 桌面中的编码在您的环境中可用:

System.Text.EncodingProvider provider = System.Text.CodePagesEncodingProvider.Instance;
Encoding.RegisterProvider(provider);

有关 CodePagesEncodingProvider.Instance 的更多信息,请参见 here .

关于c# - “UTF8”不是受支持的编码名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39065988/

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