C# で httpwebrequests を使用して Web サーバーからの応答を読み取ろうとしています。次のコードを使用します。
UriBuilder urib = new UriBuilder();
urib.Host = "wikipedia.com";
HttpWebRequest req = WebRequest.CreateHttp(urib.Uri);
req.KeepAlive = false;
req.Host = "wikipedia.com/";
req.Method = "GET";
HttpWebResponse response = (HttpWebResponse) req.GetResponse();
byte[] buffer = new byte[response.ContentLength];
System.IO.Stream stream = response.GetResponseStream();
stream.Read(buffer, 0, buffer.Length);
Console.WriteLine(System.Text.Encoding.ASCII.GetString(buffer, 0, buffer.Length));
コードは確かに正しい量のデータを取得します (バッファの作成に使用された contentlength とコンソール出力の長さを比較しましたが、それらは同じです。私の問題は、応答の最後の 80% 程度が空白であることです。 chars. They are all 0x00. wikipedia.com を含むいくつかのページでこれをテストしたところ、何らかの理由でファイルの途中で途切れてしまいました。
webrequests の使用方法を誤解/誤用したことがありますか、それともここでエラーを見つけることができますか?