Comment changer l'encodage de la réponse HttpClient
Je suis en train d'apprendre sur la programmation Asynchrone à l'aide de VS2012 et ses Async mot clé Await. C'est pourquoi j'ai écrit ce morceau de code:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
string get = await GetResultsAsync("http://saskir.medinet.se");
resultsTextBox.Text = get;
}
private async Task<string> GetResultsAsync(string uri)
{
HttpClient client = new HttpClient();
return await client.GetStringAsync(uri);
}
Le problème est que lorsque j'essaie de débogage de l'application, il me donne une erreur avec ce message:
Le jeu de caractères fournie en ContentType est pas valide. Ne peut pas lire le contenu comme une chaîne de caractères à l'aide d'un jeux de caractères non valides.
Je suppose que c'est parce que le site ont un peu de suédois char, mais je ne peux pas trouver comment changer l'encodage de la réponse. Quelqu'un peut me guider svp?
OriginalL'auteur DreamNet | 2012-09-02
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vérifier les options d'encodage et d'obtenir la bonne. Sinon, ce code devrait arriver à la réponse.
Dans votre code, "GetStringAsync" a l'aide d'encodage par défaut et essayer d'obtenir de la chaîne qui a été un échec. Avec "GetByteArrayAsync", le résultat est dans la forme de byte[] qui n'entraîne pas de problèmes de codage.
OriginalL'auteur Sandeep G B
Dans le cas où vous voulez une méthode générique, suite à des travaux dans mon UWP cas au cas où quelqu'un a un avec Unicode, ce serait super d'ajouter:
OriginalL'auteur Juan Pablo Garcia Coello
WinRT 8.1 C#
OriginalL'auteur A.J.Bauer