У меня есть проблема с некоторым контентом, который мы загружаем из Интернета для инструмента очистки экрана, который я создаю.
в приведенном ниже коде, строка, возвращаемая из метода строки загрузки веб-клиента, возвращает некоторые нечетные символы для загрузки источника для нескольких (не всех) веб-сайтов.
Недавно я добавил заголовки 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);