Я пишу приложение C# для Windows Phone 8.1. Приложение отправляет HTTP-запрос на веб-страницу с пост-данными, однако он генерирует исключение, когда я копирую содержимое запроса в строку.Неверная кодировка в ответе HTTP
Вот код,
var values = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("username", "usernameHere"),
new KeyValuePair<string, string>("password", "passwordHere"),
};
var httpClient = new HttpClient(new HttpClientHandler());
var response = await httpClient.PostAsync(new Uri(LOGIN_URL), new FormUrlEncodedContent(values));
if (response.IsSuccessStatusCode)
{
string responseString = "";
try
{
responseString = await response.Content.ReadAsStringAsync();
}
catch (Exception e)
{
MessageBox.Show("Exception caught " + e);
}
}
Ошибка,
«System.InvalidOperationException: Набор символов содержится в ContentType недействителен Не удается прочитать содержимое в строку, используя неверный . набор символов ---> System.ArgumentException: «ISO8859_1» не является поддерживаемым именем кодировки ».
Видимо решение использовать GetByteArrayAsync вместо PostAsync (How to change the encoding of the HttpClient response), но таким образом я не могу представить почтовые данные.