2013-12-18 5 views
0

Ниже приведен код, который должен только вернуть исходный код страницы. Однако исходный код этой страницы продолжает возвращаться с помощью webdings и недопустимых символов (сотни из них ). Я пробовал различные описания заголовков, но никто из них не исправил проблему. 'Исходный код имеет недопустимые символы

string url2 = "http://mcassessor.maricopa.gov/?s=176-09-419" 
HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(url2); 

request2.CookieContainer = cookieJar; 
request2.Method = "GET"; 
request2.Accept = "text/html, application/xhtml+xml, */*"; 
request2.Headers.Add("Accept-Language: en-US,en;q=0.5"); 
request2.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAM3; rv:11.0) like Gecko"; 
request2.Headers.Add("Accept-Encoding: gzip, deflate"); 
request2.Headers.Add("X-UA-Compatible: IE=edge,chrome=1"); 

using (HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse()) 
{ 
     string sourceCode2 = new StreamReader(request2.GetResponse().GetResponseStream()).ReadToEnd(); 
} 
+0

Есть ли причина, по которой вы вызываете GetResponse() дважды? – EricLaw

ответ

4

Это потому, что он возвращается архивированным .. вы говорите это, чтобы быть архивированным здесь:

request2.Headers.Add("Accept-Encoding: gzip, deflate"); 

Вы можете удалить это .. или, скажите запрос, чтобы разархивировать его :

request2.AutomaticDecompression = DecompressionMethods.GZip; 
+2

Не игнорируйте response2.CharacterSet, StreamReader должен использовать правильный кодировщик. –

Смежные вопросы