У меня проблема с некоторым контентом, который мы загружаем из Интернета для созданного мной инструмента очистки экрана.
В приведенном ниже коде строка, возвращаемая методом строки загрузки веб-клиента, возвращает некоторые нечетные символы для исходной загрузки для нескольких (не всех) веб-сайтов.
Недавно я добавил заголовки http, как показано ниже. Раньше тот же код вызывался без заголовков с тем же эффектом. Я не пробовал варианты заголовка 'Accept-Charset', я мало знаю о кодировке текста, кроме основ.
Символы, или последовательности символов, о которых я говорю:
« ï» ¿ «
и
« Â »
Эти символы не видны, когда вы используете «просмотреть исходный код» в веб-браузере. Что могло быть причиной этого и как исправить проблему?
string urlData = String.Empty;
WebClient wc = new WebClient();
// Add headers to impersonate a web browser. Some web sites
// will not respond correctly without these headers
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");
wc.Headers.Add("Accept", "*/*");
wc.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
urlData = wc.DownloadString(uri);