Есть ли способ указать культуру при использовании System.Net.WebClient для чтения содержимого страницы?

Есть ли способ визуализации страницы с определенной культурой, используя System.Net.WebClient?

Например:

System.Net.WebClient client = new System.Net.WebClient();

CultureInfo myCulture = System.Globalization.CultureInfo.GetCultureInfo("es-ES");
// Do something to specify the culture info

client.DownloadString(someUrl);

1 ответ

Решение

Все, что делает класс WebClient, - это выполняет HTTP-запрос и читает / анализирует ответ. При отправке этого запроса вы можете установить заголовки, такие как Accept-Language используя свойство Headers:

client.Headers["Accept-Language"] = "es-ES";

Если вы говорите о кодировке, то при использовании метода DownloadString он будет искать заголовки ответов, чтобы использовать правильную кодировку, и если сервер отправляет неправильный заголовок ответа, у вас могут возникнуть проблемы с кодировкой. В этом случае вы можете использовать метод DownloadData, который вернет вам ответ в виде байтового массива, и вы можете применить правильную кодировку при преобразовании этого массива в строку.

Другие вопросы по тегам