Я пытался написать метод, который должен был вернуть мне ответ API. Но когда я вызываю его возвращаемое значение в Console.WriteLine
, я получаю его заголовок. Кроме того, я думаю получить вывод, который может включать символы юникода в UTF-8
.
Если есть лучший способ получить его в кодировке, я рад это слышать.
private static async Task<HttpResponseMessage> Test(string apiUrl, string apiKey)
{
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(new HttpMethod("GET"), apiUrl))
{
request.Headers.TryAddWithoutValidation("accept", "application/json");
request.Headers.TryAddWithoutValidation("Authorization", apiKey);
var response = await httpClient.SendAsync(request);
/*
string message = await response.Content.ReadAsStringAsync();
string parsedString = Regex.Unescape(message);
byte[] isoBites = Encoding.GetEncoding("UTF-8").GetBytes(parsedString);
return Encoding.UTF8.GetString(isoBites, 0, isoBites.Length);
*/
return response;
}
}
}
Я получаю следующее:
allow: GET,POST
cache-control: no-cache
connection: keep-alive
content-length: 146870
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;
content-type: application/json; charset=utf-8
date: Thu, 16 Jan 2020 12:52:47 GMT
expires: -1
Я ожидаю, что его тело выдает некоторую строку JSON,
[{"MemberNo": 62,"MemberName": "comp1","PrefixNo": 545102,
"IsBusinessCard": false,"Brand": null,"LogoUrl": null},{"MemberNo": 62,"MemberName":
"comp2","PrefixNo": 554796,"IsBusinessCard": false,"Brand":
null,"LogoUrl": null}]