Ошибка HttpWebRequest при поддержке кодирования типа chunked - PullRequest
0 голосов
/ 01 марта 2012

Я сделал код, так что скачивайте страницу, используя кусочную кодировку, но результат не очень хороший - символов.

Я посмотрел на скрипач - там символы правильные.

Как я могу получить правильных персонажей с простотой вещей? (без ручного разбора)

Или - как я могу сообщить серверу, чтобы мы не поддерживали эту кодировку?

Заранее спасибо

Вот код на C #

HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create("http://www.grad-nk.ru/arti/531.php");

var webResponse = (HttpWebResponse)webRequest.GetResponse();

using (Stream stream = webResponse.GetResponseStream())
{
   using (StreamReader streamReader = new StreamReader(stream))
   {
      var content = streamReader.ReadToEnd();
   }
}

Edit:

Вот строка, которая заставляет ее работать

using (StreamReader streamReader = new StreamReader(stream, Encoding.GetEncoding(webResponse.CharacterSet)))

Благодаря Уолл !!!

1 Ответ

2 голосов
/ 01 марта 2012

Content-Type этой страницы - windows-1251 , поэтому вам придется использовать эту кодировку при чтении ответа из потока.

Измените эту строку в своем коде:

using (StreamReader streamReader = new StreamReader(stream))

на это:

using (StreamReader streamReader = new StreamReader(stream, Encoding.GetEncoding(1251)))

, который решит вашу проблему.

...