无法从HttpWebResponse中获得值

哨子 2011-02-18 08:32:02
己知类型为HttpWebResponse的变量response不为空
[code=C]
void GetContent(HttpWebResponse response)
{
response = hre;
if (null == response) { throw new ArgumentNullException("参数HttpWebResponse不能为Null"); }

if (string.IsNullOrEmpty(_Encoding)) { _Encoding = response.CharacterSet; }

Stream stream = new MemoryStream();
byte[] buffer = new byte[1024];
while (true)
{
int sz = response.GetResponseStream().Read(buffer, 0, 1024);
if (sz == 0) { break; }
stream.Write(buffer, 0, sz);
}
stream.Position = 0;

StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(_Encoding));
string str = reader.ReadToEnd();

if ("ISO-8859-1" == _Encoding.ToUpper())
{
_Encoding = GetMetaCharacterSet(str);
stream.Seek(0, SeekOrigin.Begin); // 设置当前流的位置为流的开始
reader = new StreamReader(stream, Encoding.GetEncoding(_Encoding));
str = reader.ReadToEnd();//此处在断点查看时发现异常,但运行时正常
}

reader.Close(); //StreamReader会关闭它读取的流
//response.Close(); //由response的创建者关闭response

_HtmlContent = str;
if (DownEnd != null)
DownEnd(this, EventArgs.Empty);
}
[/code]
str = reader.ReadToEnd();//此处在断点查看时发现异常,但运行时正常
这句断点查询时鼠标提示有一句:“reader.EndOfStream”引发了“System.ObjectDisposedException”类型的异常
但是却没中断,不知道怎么回事。
无论如何str都是空值,郁闷,不知道哪位能解释一下。
...全文
88 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2011-02-18
  • 打赏
  • 举报
回复
StreamReader.EndOfStream 该值表示当前的流位置是否在流的末尾。
ObjectDisposedException
基础流已释放。
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream resStream = response.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoding);
string html = (sr.ReadToEnd());
resStream.Close();
sr.Close();

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧