Le code suivant :
var text = (new WebClient()).DownloadString("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20"));
donne lieu à une variable text
qui contient, parmi de nombreuses autres choses, la chaîne de caractères
"$$-Minkowski space, scalar field, and the issue of Lorentz invariance"
Cependant, lorsque je visite cette URL dans Firefox, j'obtiens
$$-Minkowski space, scalar field, and the issue of Lorentz invariance (en anglais)
ce qui est en fait correct. J'ai également essayé
var data = (new WebClient()).DownloadData("http://export.arxiv.org/api/query?search_query=au:Freidel_L*&start=0&max_results=20");
var text = System.Text.UTF8Encoding.Default.GetString(data);
mais cela a donné le même problème.
Je ne sais pas où est la faute. Est-ce que le flux ment en disant qu'il est encodé en UTF8, et que le navigateur est assez intelligent pour s'en rendre compte, mais pas WebClient
? Le flux est correctement codé en UTF8, mais WebClient
est défaillant d'une autre manière ? Que puis-je faire pour atténuer ce problème ?