StreamReader(response.GetResponseStream(), encoding)问题

liulangdeyuyu 2010-09-21 08:43:02
response = (HttpWebResponse)request.GetResponse();

if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
if (encoding == null)
{
reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gbk"));
html = reader.ReadToEnd();
Match charSetMatch = Regex.Match(html, "<meta([^<]*)charset=([^<]*)\"", RegexOptions.IgnoreCase | RegexOptions.Multiline);
string webCharSet = charSetMatch.Groups[2].Value;
encoding = Encoding.GetEncoding(webCharSet);
}
reader = new StreamReader(response.GetResponseStream(), encoding);

html = reader.ReadToEnd();

return html;
}



该部分代码为获取网页的编码方式,
经断点测试,红色部分错误

求原因
...全文
459 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nullnullcao 2011-08-01
  • 打赏
  • 举报
回复
我也遇到这样的问题,有说streamread是只读向前的,难道response.GetResponseStream()方法只能用一次?
问题解决了么?什么原因。。求解。。。
liulangdeyuyu 2010-09-21
  • 打赏
  • 举报
回复
不是那的问题
liulangdeyuyu 2010-09-21
  • 打赏
  • 举报
回复
谢谢2楼,我试试,很有可能是这个原因
liulangdeyuyu 2010-09-21
  • 打赏
  • 举报
回复
红色的两行中有可能有一行错误
孟子E章 2010-09-21
  • 打赏
  • 举报
回复
写2遍reader = new StreamReader?
Ryan20082009 2010-09-21
  • 打赏
  • 举报
回复
慢慢调试 找到错误行

110,537

社区成员

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

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

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