2012-03-01 4 views
0

コードを作成してページをダウンロードしましたので、チャンクエンコーディングを使用しましたが、結果は良好ではありません。HttpWebRequestエラーがチャンクタイプのエンコーディングをサポートしています

私はフィドラーを見ました - 文字が正しいです。

簡単なもので正しい文字を取得するにはどうすればよいですか? (手動解析なし)

または、このエンコーディングをサポートしないようにサーバーにどのように伝えることができますか?事前

おかげで、ここでの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(); 
    } 
} 

編集されています

ここでは、ラインがそう、それはWALへ

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

おかげで仕事作るです!!!

+1

レスポンスのContent-Typeヘッダーに文字セットが指定されていますか? – simonc

答えて

2

このページのContent-Typewindows-1251なので、ストリームからの応答を読み取るときにエンコードを使用する必要があります。

変更し、あなたのコードでこの行:これまで

using (StreamReader streamReader = new StreamReader(stream)) 

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

あなたの問題を解決します。

関連する問題